You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8集成Passport的API在Postman中报请求方法不允许错误

Laravel 8集成Passport遇“请求方法不允许”问题排查方案
  • 确认路由文件位置
    确保POST路由定义在routes/api.php而非routes/web.php中。web.php内的路由默认受CSRF保护,API请求无法携带有效CSRF令牌,会触发方法不允许错误。若必须在web.php中使用这些POST路由,需将路径加入CSRF白名单:

    // 在app/Http/Middleware/VerifyCsrfToken.php中修改
    protected $except = [
        '/token',
        '/login',
    ];
    
  • 检查请求头配置
    发起POST请求时必须携带Accept: application/json请求头。缺少该头时,Laravel会尝试返回HTML响应,可能引发重定向,进而导致方法不允许的错误。

  • 避免Passport路由冲突
    Passport默认提供/oauth/token路由用于获取令牌,若自定义的/token路由与其冲突,会导致路由解析异常。建议修改自定义路由路径(如改为/auth/token),或确保Passport路由注册在自定义路由之前。

  • 清除路由缓存
    若之前生成过路由缓存,执行以下命令清除缓存,确保新路由配置生效:

    php artisan route:clear
    
  • 验证控制器方法
    确认AuthController@requestToken和UsersAuthController@login方法存在,且未错误限制请求类型(比如误用了@get注解),确保方法能正常接收POST请求。

内容的提问来源于stack exchange,提问作者Emmanuel Aninze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:24:52