Я использую привязку модели маршрута для этого маршрута:
api. php
Route::group(['middleware' => ['auth:api']], function () {
Route::apiResource('applications', 'ApplicationController')->except(['index']);
});
и на модели:
Приложение
/**
* Get the route key for the model.
*
* @return string
*/
public function getRouteKeyName(): string
{
return 'client_id';
}
В котором client_id
является строкой и предположим, что testclient
НЕ СУЩЕСТВУЕТ в applications
таблице. Хорошо, когда я вызываю этот маршрут на postman
или insomnia
: base_url/applications/testclient
, он выдает Symfony\Component\HttpKernel\Exception\NotFoundHttpException
Exception КАК Я ХОЧУ .
Хорошо, я хочу поймать это исключение, поэтому я использую этот код на app/Exceptions/Handler.php
:
public function render($request, Exception $exception)
{
if ($exception instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException) {
return response()->json([
'my-goddamn-custom' => 'message-here',
]);
}
return parent::render($request, $exception);
}
Но я не могу поймать свое сообщение с пользовательским ответом. Как я могу поймать мой собственный ответ на сообщение?