非路由接口的方式访问返回404改成统一的JSON规范

dsx5ds

问题描述

例如
Route::post('/login', [app\controller\UserController::class, 'login']);
Route::disableDefaultRoute();

当post访问时正常,get访问时404,这一切都是正常的,404是因为get下没有匹配规则所以默认为没找到路由,
但我想的是
1.在没有匹配到路由的情况下,返回json msg ‘没有对应控制器/方法’
2.在没有匹配到正确的对应请求方式情况下,返回json msg ‘当前接口仅允许POST访问’

路由规则大约有上百条,不适合一个一个写fallback,像TinktP的路由,post定义后,get访问就提示不允许get访问

200 1 0
1个回答

walkor

升级下webman-framework
composer require workerman/webman-framework ^v1.5.23

Route::fallback(function (Request $request, $status) {
    // status是状态码,405代表方法不允许,404代表请求不存在
    return $status;
});
  • 暂无评论
×
🔝