Thinkphp5中定义路由为一个`post`,使用`get`请求时怎么自定义错误

简单7月
  • 24

Thinkphp5中定义路由为一个post,使用get请求时怎么自定义错误

如果在thinkphp5中application/route.php中定义了一个post路由,如下,当我们请求方式错误时如何自定义错误的内容,并将错误的json返回出来。

Route::group('user', function (){
   Route::post('/login', 'api/User/login');
});

正常访问,使用post请求,上面的返回结果为:

{
    "code": 200,
    "msg": "登录成功",
    "data": {
        "name": "9W?r?m",
        "id": 1,
        "mobile": "13637745082",
        "status": 25,
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjaGMucnVuIiwiaWF0IjoxNTM1MzMyODAzLCJ1aWQiOjEsIm5iZiI6MTUzNTMzMjgxMywiZXhwIjoxNTM1MzQwMDAzLCJkYXRhIjp7InVpZCI6MX19.8ZIil9LNSO1KoVylQ6CgTybGFNbbHgIusO7azNvYXQs"
    }
}

如果改用get请求,结果如下:

{
    "code": 999,
    "msg": "sorry,we make a mistake. (^o^)Y",
    "request_url": "/index.php/user/login"
}
上面的内容时使用了自定义异常来实现的。

现在我想得到如下的错误消息:

{
    "code": 10001,
    "msg": "非法请求",
    "request_url": "/index.php/user/login"
}

请求哪位大牛帮忙看看!!

回复
阅读 2.3k
1 个回答
Route::miss(function () {
    return json(['code' => 999, 'msg' => '非法请求']);
});
宣传栏