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? Я считаю, что стек вызовов не будет возвращен, когда он будет запущен.

1

Другие решения

Вы всегда можете поймать исключение в 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);
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector