REST Client插件需安装Huachao Mao版本,配置.env变量管理Bearer Token,Authorization头须严格格式为“Bearer {token}”,Token过期返回401,推荐用环境变量避免硬编码泄露。

REST Client插件安装与基础配置
VSCode默认不带HTTP请求功能,必须装第三方插件。直接在扩展市场搜 REST Client,认准作者是 Huachao Mao 的那个——其他同名插件可能不支持Token鉴权或语法已过时。
装完不用重启,新建一个文件,后缀名为 .http 或 .rest(比如 api.test.http),VSCode会自动启用语法高亮和发送按钮。
注意:插件依赖系统里有可用的 curl 或 httpie 才能发请求,但绝大多数场景下它走的是内置HTTP客户端,所以一般不用额外装;只有遇到 SSL 证书错误或代理问题时才需要确认底层工具链。
写一个带Bearer Token的POST请求
Token通常放在 Authorization 请求头里,格式是 Bearer <token></token>。不能拼错大小写,也不能漏空格。
示例请求如下:
POST https://api.example.com/v1/users
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
{
"name": "Alice",
"email": "alice@example.com"
}
关键点:
-
Authorization头必须紧挨着请求行写,中间不能有空行 - Token值别硬编码在文件里,尤其别提交到 Git——用 VSCode 的
env变量更安全 - 如果Token过期,会返回
401 Unauthorized,不是403 Forbidden,这是区分认证失败和权限不足的重要信号
用环境变量管理Token避免泄露
在工作区根目录建一个 .vscode/settings.json,加这段:
{
"rest-client.environmentVariables": {
"$shared": {
"token": ""
},
"dev": {
"host": "https://api.dev.example.com",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
},
"prod": {
"host": "https://api.example.com",
"token": "{{token}}"
}
}
}
然后在 .http 文件里这样写:
@host = {{host}}
@token = {{token}}
POST {{host}}/v1/users
Content-Type: application/json
Authorization: Bearer {{token}}
{
"name": "Bob"
}
操作要点:
- 环境变量名(如
token)和{{token}}中的名称必须完全一致,区分大小写 -
$shared里的变量所有环境都可访问,适合放公共配置;dev/prod是具体环境,切换靠右下角状态栏点击环境名 - Token值别存在
$shared里,否则容易误切到别的环境导致发错请求
常见失败原因和调试技巧
发不出请求或返回 401,先看这几处:
- 检查
Authorization头是否多写了冒号、少了空格,比如写成Bearer: xxx或Bearerxxx都会失败 - Token本身是否已过期?复制到 jwt.io 解码看
exp字段,或用curl -I对比响应头中的WWW-Authenticate - 有些API要求
Content-Type必须是application/json; charset=utf-8,少个charset也可能被拒 - 如果用了代理或公司内网,VSCode 的
http.proxy设置要和系统一致,否则插件可能连不上
插件右键菜单里有 “Send Request” 和 “Send Request in Terminal”,后者会把等效 curl 命令打出来,方便你复现或贴给运维查问题——这个输出其实比响应体还重要。
Token这类敏感值一旦出现在 .http 文件里,就等于暴露在编辑器历史、终端日志甚至 LSP 缓存中。哪怕只用一次,也建议用环境变量兜底,而不是图快手敲进去。


















