Как обработать 404 как ответ json, если маршрут не найден?

Используя Laravel 5.4, я хотел бы отправить ответ json, хотя в api.php не найден маршрут, как я могу архивировать с помощью api.php и без класса Controller и Model.

короткая: Как обрабатывать, когда название маршрута неверно?

Пробовал с fallback :

Route::fallback(function(){
return response()->json(['message' => 'Not Found!'], 404);
});

Ошибка для выше:

Attribute [fallback] does not exist.

Помогите, пожалуйста, как обработать исключение Route not found при неправильном запросе имени маршрута.

0

Решение

отступление доступно с версии 5.6. попробуй Route :: any ()


@NobbyNobbs — trim () ожидает, что параметр 1 будет строкой, объект задан

добавьте в конце вашего api.php (ниже всех других маршрутов) что-то вроде

Route::any('{path}', function() {
return response()->json([
'message' => 'Route not found'
], 404);
})->where('path', '.*');

Как я могу архивировать с в api.php и без класса контроллера и модели

На мой взгляд, использование анонимной функции в качестве обработчика маршрута — не лучшая идея, потому что вы не можете кэшировать свои маршруты, если используете замыкания, и это вызывает некоторые накладные расходы.

0

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

Других решений пока нет …

По вопросам рекламы [email protected]