【发布时间】:2021-02-01 23:48:14
【问题描述】:
每当我使用 POST 请求调用路由时,即使我的路由确实是 POST 请求,我也会一直出现此错误。只有当我尝试将我的路由与auth:api 中间件绑定时才会出现此问题,请帮忙调查一下,如果您让我提供更多信息,请告诉我
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException:此路由不支持 GET 方法。支持的方法:POST。在文件 /home/kingsleyakindele/projects/secpry_backend_api/vendor/laravel/framework/src/Illuminate/Routing/AbstractRouteCollection.php 第 117 行
这是我的路线
Route::prefix("auth")->group(function () {
Route::post('login', [LoginController::class, 'login'])->name('login');
Route::post('refresh', [LoginController::class, 'handleRefreshToken'])->name('refresh');
Route::post('me', [LoginController::class, 'userDetails'])->name("user_details");
});
这是来自我的控制器
public function __construct()
{
$this->middleware("auth:api", ["except" => ["login", "refresh"]]);
}
只有登录路径可以正常工作,刷新路径和其他路径都不能正常工作。
感谢您的帮助
【问题讨论】:
-
确保在客户端调用路由为
post方法。 -
在这些路由中是否发生了任何重定向,例如验证失败重定向?
-
@apokryfos,验证后没有重定向,我只返回一个 json 响应
-
如果验证失败,验证本身会导致重定向,除非请求的标头中有“Accept: application/json”
-
@apokryfos,谢谢它解决了它,但现在,我仍然遇到这样的问题,即使我已经登录,所有 protected(auth:api) 路由仍然返回未通过身份验证的身份验证令牌并且我确定令牌进入