dongshang3309 2018-08-04 12:50
浏览 23
已采纳

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

Using Laravel 5.4, I would like to send the json response, while there is no route found in api.php, how can I archive with in api.php and without Controller and Model class.

short: How to handle when the route name is incorrect?

Tried with fallback :

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

Error for above :

Attribute [fallback] does not exist.

Please help me, how to handle Route not found exception when incorrect route name request.

  • 写回答

1条回答 默认 最新

  • douou6696 2018-08-04 14:44
    关注

    fallback available since version 5.6. try Route::any()


    @NobbyNobbs - trim() expects parameter 1 to be string, object given

    add at the end of your api.php (below all of the other routes) something like

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

    how can I archive with in api.php and without Controller and Model class

    In my opinion using of anonymous function as route handler it's not a best idea, because you can't cache your routes if you're using closures and it causes some overhead.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效