最简可运行 .http 文件需满足:首行大写方法+空格+完整URL,如 GET https://httpbin.org/get;文件存项目内、后缀为.http或.rest;光标停该行按Ctrl+Enter发送。

PhpStorm 内置 REST Client 能完全替代 Postman 做日常接口调试,但前提是 .http 文件格式写对、变量放对位置、中文和 token 不裸写——错一个空格或少一个空行,请求就发不出去。
怎么写一个能运行的最简 .http 文件
文件必须是 .http 或 .rest 后缀,放在项目目录内(不能放桌面或系统临时路径),首行必须是大写方法 + 空格 + 完整 URL:
-
GET https://httpbin.org/get✅ 可运行 -
get https://httpbin.org/get❌ 方法小写,PhpStorm 不识别 -
GET https://httpbin.org/get # 注释❌ URL 后不能跟任何字符,包括空格和注释 -
GET https://httpbin.org/get?name=张三❌ 中文未编码,服务端大概率返回 400 或收不到
光标停在这一行,按 Ctrl+Enter(macOS 是 Cmd+Enter)即可发送。响应出现在下方 Services 工具窗口的 HTTP Client 标签页里。
变量定义为什么总报 Cannot resolve variable
变量名只接受字母、数字、下划线,不能含点号 .、短横线 - 或空格;且必须先定义、后引用。
立即学习“PHP免费学习笔记(深入)”;
- 顶部全局定义(推荐):
@host = http://localhost:8000,然后在下面请求中用{{host}}/api/users - 独立
###块定义:### @env dev后跟@host = https://api.example.com,该块内所有请求才生效 - 常见错误:把
@host =写在GET请求块下面 → 上面的请求用不了这个变量 -
http-client.env.json必须放在项目根目录,或手动在Settings → Tools → HTTP Client → Environment files指定路径;JSON 字段名必须和{{xxx}}完全一致,比如 JSON 是"base_url": "",就不能写成{{baseUrl}}
POST JSON 总是 400?检查这三点
绝大多数 400 错误不是后端问题,而是 .http 文件结构不合规:
- 请求行后必须紧接一个空行(不能缩进、不能多空行)
- JSON body 必须顶格写,无缩进、无 BOM、双引号合法:
{"title":"Hello"}✅,{title:"Hello"}❌(缺引号) -
Content-Type: application/json必须显式写出,且单独成行、前后无空格;别依赖 PhpStorm 自动推断,尤其当 body 为空或含换行时容易失效
如果 body 是表单数据,Content-Type 得换成 application/x-www-form-urlencoded,body 写成 username=foo&password=bar,不能带 JSON 大括号。
带认证、切环境、跑断言的关键细节
Bearer Token 和 Cookie 都得手动加 header,HTTP Client 不读浏览器或系统凭据:
- Token 推荐用变量:
@token = eyJhbGciOi...+Authorization: Bearer {{token}};注意Bearer后必须有一个空格 - Cookie 值含分号或等号时容易截断,建议整个值用英文双引号包住:
Cookie: "sessionid=abc;123; path=/" - 切换环境靠
### @env local+http-client.env.json,不是改文件名;环境名(如local)必须和 JSON 中对象 key 完全一致 - 断言写在 body 下一行,以
{%开头、%}结尾:{% client.assert(response.status === 201, "Expected 201"); %};别漏client.前缀,也别用==(JS 严格相等才是===)
真正卡住人的地方往往不是功能不会用,而是空行位置、变量命名、URL 编码、JSON 引号这些“一眼看不见”的格式细节——写完先 Ctrl+A 全选,看有没有隐藏空格或全角字符。



















