Laravel 8 Passport已配置API路由存在但请求返回404 Not Found问题
Laravel 8 Passport API路由404问题排查方案
- 确认请求路径前缀:Laravel框架默认对
api.php中定义的所有路由自动添加/api前缀,若Postman请求时未携带此前缀会直接返回404。例如路由定义为/user,实际请求地址应为你的项目域名/api/user - 清除路由缓存:如果项目开启了路由缓存,新增的API路由不会自动生效,执行命令
php artisan route:clear清除缓存后再重新测试 - 核对请求方法:确认Postman中选择的HTTP请求方法和路由定义的方法完全一致,例如路由定义为
Route::post(),若用GET方式请求也会触发404错误 - 校验Passport配置:
- 打开
config/auth.php文件,确认guards.api.driver配置项的值为passport,默认值为token,未修改会导致Passport认证逻辑不生效 - 确认已执行
php artisan passport:install命令生成了Passport运行所需的加密密钥
- 打开
- 检查路由与控制器匹配逻辑:
- 确认
app/Providers/RouteServiceProvider.php中API路由组的控制器命名空间配置正确,否则需要在路由定义时填写控制器的完整命名空间 - 确认路由中定义的控制器方法名和
UserController中的实际方法名拼写、大小写完全匹配,Laravel路由对大小写敏感
- 确认
内容的提问来源于stack exchange,提问作者Dankyi Anno Kwaku
相关产品推荐
相关产品推荐

