laravel api用postman测试需对齐四点:路由须在api.php且带/api/前缀;json请求选raw+json格式并设content-type头;认证头按sanctum(token字段)或passport(access_token)填bearer;启用fruitcake/laravel-cors并配置allowed_origins。

搭建 Laravel API 开发环境并用 Postman 测试,关键不在装多少工具,而在于几个配置点是否对齐:路由位置、请求头、数据格式、跨域设置。本地跑通但 Postman 报错,90% 是这四点没配准。
路由必须定义在 routes/api.php,且带 /api/ 前缀
Laravel 的 api.php 路由文件默认加了 /api/ 前缀,并自动应用 api 中间件组(无 session、CSRF 保护)。如果把 API 路由写进 web.php,或手动加了 middleware('web'),就会触发重定向或 419 错误,表面像 404。
- 检查命令:
php artisan route:list --name=users.index确认路由属于api类型 - Postman 请求 URL 必须是
http://localhost:8000/api/users,不能漏掉/api/ - 资源路由建议用
Route::apiResource('users', UserController::class),简洁且符合 REST 规范
Postman 发送 JSON 数据要选对格式和头
422 Unprocessable Entity 不一定是验证规则写错了,很可能是 Laravel 根本没收到有效 JSON。
- Body → raw → 右上角下拉菜单选 JSON(不是 Text 或 JavaScript)
- 手动加上请求头:
Content-Type: application/json - JSON 内容必须语法合法:字符串用双引号,布尔值写
true/false,末尾不加逗号 - 若字段验证规则含
required|email,传空字符串""会被视为“已提交但无效”,建议前端不传该字段或传null
认证头填法取决于你用的是 Sanctum 还是 Passport
401 Unauthorized 最常见原因:token 没塞进请求头,或塞错了字段名。
- Sanctum 登录后响应里取的是
token字段(不是access_token),复制它,填到 Postman Authorization → Bearer Token - Passport 返回的是
access_token,同样填进 Bearer Token;注意有效期,过期需重新登录获取 - 本地开发慎用 Sanctum 的 Cookie 模式(如 SPA 场景),Postman 无法自动携带 cookie,必须切回 token 模式,否则一直 419
CORS 必须显式启用,别被 Postman “能通”骗了
Postman 不受浏览器同源策略限制,所以它能通 ≠ 前端能调通。跨域失败是 Laravel 默认未开启 CORS 的典型表现。
- 安装包:
composer require fruitcake/laravel-cors - 确保
HandleCors::class在app/Http/Kernel.php的$middleware数组里靠前位置 - 配置
config/cors.php中的allowed_origins,开发期可设为['*'],上线需限定域名 - 不需要额外加中间件到单个路由——全局中间件已覆盖所有 API 请求
不复杂但容易忽略。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











