Laravel请求URL与GET方法的参数问题

时间:2019-11-19 14:50:19

标签: php laravel http url postman

我在api.php中有一条路线,如下所示:

Route::get('auth/logout/{token}','UserController.php';

我在以下配置下使用Postman测试了此API端点:

  • 方法:GET
  • 参数:key =令牌; value = $2y$10$Xji0VW1Qq9rtF04QlXDu1ePKNKHpRA2ppjDYWNFX.37C30sd3WSIu
  • 标题:
  • URL:localhost:8000/api/v1/logout?token=$2y$10$Xji0VW1Qq9rtF04QlXDu1ePKNKHpRA2ppjDYWNFX.37C30sd3WSIu

这是我的UserController@logout

public function logout($token){
    return response()->json([
        'message' => 'Logout Success',
        'token' => $token
    ], 200);
}

如您所见,我只想在Postman中显示一条消息和$token参数。但是我的问题是,邮递员给了我一个空白的答复。我无法使用?作为参数分隔符来访问URL。但是我可以使用/访问URL,就像host/api/v1/auth/logout/{token_value}一样。但这不是我想要的。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您可以删除token路由参数:

Route::get('auth/logout', 'UserController.php');

并从控制器中的请求中获取令牌:

public function logout(Request $request) {
    return response()->json([
        'message' => 'Logout Success',
        'token' => $request->token
    ], 200);
}