Например, в моем 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. (Или просто сообщение).
На что установлена переменная APP_ENV? Я считаю, что стек вызовов не будет возвращен, когда он будет запущен.
Вы всегда можете поймать исключение в App \ Exceptions \ Handler.php
Импортируйте исключение в класс, используя следующее:
use \Illuminate\Database\Eloquent\ModelNotFoundException;
и в методе рендеринга добавьте
if ($e instanceof ModelNotFoundException) {
return response()->json([
'message' => 'Record not found', //or modify it to display whatever message you want here
], 404);
}