2017-11-03 11 views
-1

にコールスタックを返さない:私は結束ルートモデルのルートを呼び出すと、無効なIDを渡すときに私が手:laravelは私のREST JSON APIで例えばエラー

{ 
    "message": "No query results for model [App\\Models\\User].", 
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException", 
    "file": "D:\\allianz\\backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php", 
    "line": 199, 
    "trace": [ 
     { ... 

は、私が表示しないことを好むだろうがこれをAPIコンシューマに送信します。 (または単にメッセージ)。

答えて

1

あなたはAPP_ENV変数をどのように設定していますか?私は、コールスタックが生産時に返されないと考えています。

+0

私に正しい方向を指してくれてありがとう。ただし、APP_ENVではなくAPP_DEBUGに依存します – Chris

1

あなたは常にHandler.php

\アプリケーション\例外インポート、以下のものを使用してクラスに例外で例外をキャッチすることができます

を追加し、

use \Illuminate\Database\Eloquent\ModelNotFoundException; 

とrenderメソッドで

if ($e instanceof ModelNotFoundException) { 
    return response()->json([ 
     'message' => 'Record not found', //or modify it to display whatever message you want here 
    ], 404); 
} 
関連する問題