Можно ли как то переделать ошибку firstOrFail при использовании API?
Я создал контроллер, в котором есть этот самый метод и при не нахождении просто выбрасывается огромная стандартная ошибка:
[{
"message": "No query results for model [App\\Models\\User\\Confirmation].",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/Users/.../vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 199,
"trace": [
....
Хочу ее переделать в нечто подобное:
{status: 404, errors: [{'Not found': 'Model was not found'}]}
Думал это сделать через
Exceptions/Handler
, но ведь тогда и в обычной(не АПИ) версии тоже будет выдаваться эта ошибка.
Вообще я делаю логику не в самих контроллерах, а создаю Requests и под
authorize
и
rules
создаю дополнительный метод, а в контроллере просто делаю
$request->execute();
Не знаю на сколько это правильно конечно, но мне так удобнее, чем делать огромные контроллеры.
Так вот, эти реквесты наследуют не
FormRequest
, а я создал дополнительный
ApiFormRequest
, в котором как раз смог переделать ошибки
failedAuthorization
и
failedValidation
Я понимаю что
firstOrFail
не переделать тут же, но может есть место где можно будет сделать это правильно?