В Laravel 7 можно изменить возвращаемый ответ с информацией о том, что страница не найдена (Not Found), и вместо этого вернуть JSON-ответ. Для этого вы можете использовать механизм обработки исключений.
1. В первую очередь, вам понадобится проверить наличие файла Handler.php
в app/Exceptions
директории вашего приложения Laravel. Если такого файла нет, создайте его.
2. В открывшемся файле Handler.php
найдите метод render
и замените его следующим кодом:
public function render($request, Throwable $exception) { // Проверяем, что исключение является моделью Not Found if ($exception instanceof ModelNotFoundException) { // Возвращаем JSON-ответ с кодом 404 и сообщением об ошибке return response()->json([ 'message' => 'The requested resource was not found' ], 404); } return parent::render($request, $exception); }
3. Сохраните изменения в файле Handler.php
.
Теперь, когда в вашем приложении происходит исключение ModelNotFoundException
, клиент будет получать JSON-ответ с сообщением об ошибке и кодом 404 вместо отображения стандартной страницы "Not Found".
Примечание:
- ModelNotFoundException
- это исключение, возникающее, когда запрашиваемая модель не найдена в базе данных. Однако, вы можете заменить это исключение на свое собственное, в зависимости от ваших потребностей.
- Вы также можете изменить сообщение и код ответа в JSON-ответе в соответствии с вашими требованиями.