GET Route Laravel中的URL参数

达尼·法德利(Dani Fadli)

我有一条api.php看起来像这样的路线

Route::get('auth/logout/{token}', '[email protected]');

然后,我使用Postman来检查此API端点,如下所示:

localhost:8000/api/v1/auth/logout?token=$2y$10$InjSk8VExH76wSyA3OE9a.jhR/3GhAkJdBE3EyQ3O.Z0kCe/r7wp

但是我在邮递员那里得到一个空白的答复。它应该显示消息响应并删除数据库中的数据。但事实并非如此。这是我logout()UserController.php

public function logout($token){
    $current_token = Token::where('token', $token)->first();
    if($current_token){
        if(Token::where('token','=',$current_token)->delete()){
            return response()->json([
                'message' => 'Logout Success'
            ], 201);
        }
    }else{
        return response()->json([
            'message' => 'Unauthorized User'
        ], 401);
    }
}

任何人都可以帮助我解决问题吗?我感谢您的所有方法。

编辑...

当我这样发送虚拟请求并使用时dd($token),邮递员给了我"asdfasdf"

localhost:8000/api/v1/auth/logout/asdfasdf

因此,我该如何token使用"?"

编辑2 ...

user_id从数据库的bcrypted生成令牌就我而言,我不使用任何令牌生成器插件或其他工具。

达尼·法德利(Dani Fadli)

是的,我终于知道为什么邮递员的答复为空白。UserController.php是资源控制器,但我在其中添加了一个自定义login()方法。我应该将Route自定义方法的route放在resource控制器的上方它看起来应该像这样:

Route::get('auth/login','[email protected]');

Route::resource('auth', 'UserController');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章