dima9595
@dima9595
Junior PHP

Почему API Laravel при некоторых обстоятельствах отвечает 404 ошибкой?

Всем привет. Создаю свой API для одного сервиса. Для тестирования использую Insomnia Rest.
Бывает так, что ответ на API, пользователь, должен получить код ошибки, но вместо этого выдаётся 404 ошибка.
Например, если пользователь не найден:

UserController:
<?php
namespace App\Http\Controllers\Users;

use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class UsersController extends Controller{

    public function show($id){
        return User::findOrFail($id);
    }
}


API:
Route::group(['middleware' => 'auth:api'], function(){
    Route::resource('users', 'Users\UsersController');
});


Но почему-то выводится 404 ошибка. Если пользователь найден, то отображается как надо. Подскажите пожалуйста как правильно выдавать такие ошибки в формате JSON?! Заранее спасибо.
  • Вопрос задан
  • 702 просмотра
Пригласить эксперта
Ответы на вопрос 1
@no_brain_nopain
backend dev
https://laravel.demiart.ru/laravel-api-404-otvet-v...

ответ кратко и понятно описан здесь

я сделал так
public function render($request, $e)
    {
        if ($e instanceof ModelNotFoundException) {
            return response()->json([
                'success' => false,
                'errors' => ['Record not found'],
                'data' => [],
            ], 404);
        }
        return;
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы