如果找不到路由,如何处理404作为json响应?

时间:2018-08-04 12:50:22

标签: php laravel-5 laravel-5.4 laravel-routing laravel-response

使用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.

请帮助我,如何处理错误的路线名称请求时找不到路线异常。

1 个答案:

答案 0 :(得分:0)

  从5.6版开始提供

fallback。尝试Route :: any()

     
     

@NobbyNobbs-trim()期望参数1为字符串,指定对象

在api.php的末尾(在所有其他路由的下方)添加类似

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

在没有Controller和Model类的情况下,如何在api.php中存档

在我看来,使用匿名函数作为路由处理程序不是一个好主意,因为如果使用闭包,则无法缓存路由,这会导致一些开销。