Postman 测试 Laravel API 需正确配置认证头、路由前缀、JSON 格式及 CORS:Sanctum 用响应中的 token 填 Bearer;路由须在 api.php 并带 /api/ 前缀;Body 选 JSON 格式且语法合法;启用 fruitcake/laravel-cors 并配置中间件与 allowed_origins。

Postman 里怎么填 Laravel API 的认证头
不带认证头,401 Unauthorized 是最常见报错,尤其用 sanctum 或 passport 时。Laravel 默认不会自动返回登录态,得手动把 token 塞进请求头。
- 如果用
Sanctum:登录后从响应里取token字段(不是access_token),在 Postman 的 Authorization → Bearer Token 栏粘贴,或手动加Authorization: Bearer {token} - 如果用
Passport:登录接口返回的是access_token,同样填进 Bearer Token;注意它有过期时间,过期后要重新登录获取 - 本地开发时若启用了
Sanctum的 cookie 模式(比如 SPA 场景),Postman 无法自动携带 cookie,必须切回 token 模式,否则一直419 Page Expired
Laravel API 路由 404 但路由列表里明明有
Postman 发请求返回 404 Not Found,但 php artisan route:list 确实列出来了——大概率是没开 API 中间件或路由组配错了。
- 确认路由定义在
routes/api.php,而不是web.php;后者默认走 session 中间件,API 请求不该依赖 session - 检查是否误加了
middleware('web')到 API 路由上,会导致 CSRF 验证失败或重定向,最终表现像 404 - Postman 请求 URL 必须带
/api/前缀(如http://localhost:8000/api/users),这是api.php路由文件的默认前缀,删了就找不到
Postman 测试时数据验证失败但代码看着没问题
发 JSON 数据过去,Laravel 报 422 Unprocessable Entity,但字段名和类型都对得上——问题常出在 Content-Type 和数据格式上。
- Postman 的 Body → raw 下,右上角必须选
JSON(不是Text),否则 Laravel 解析不到request()->all() - 确保 JSON 语法合法:字符串用双引号,末尾不加逗号,布尔值写
true/false,别写"true" - 如果验证规则里有
required|email,但传了空字符串"",也会被判定为“存在但无效”,建议前端传null或干脆不传该字段
为什么 Postman 能通,但前端 fetch 就跨域失败
这不是 Postman 的问题,是 Laravel 默认没开 CORS,而 Postman 不受浏览器同源策略限制,所以它“能通”反而会掩盖配置问题。
- 装
fruitcake/laravel-cors包后,别只改config/cors.php,还要确认App\Http\Kernel里api中间件组已包含\Fruitcake\Cors\HandleCors::class -
allowed_origins别写['*']在生产环境,尤其带凭证(cookie/token)时必须指定具体域名,否则浏览器直接拒收响应头 - 如果用 Sanctum + cookie 登录,Postman 测试时得关掉 “Automatically persist cookies” 并手动清空,否则残留 cookie 会让测试失真
真正麻烦的不是怎么填 Postman,而是哪一步漏了中间件、哪条规则在后台静默过滤了字段、哪个响应头没透出导致前端拿不到错误详情——这些点不打日志、不看 network 面板,光靠 Postman 成功就以为万事大吉。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











