VS Code REST Client 代码片段整理

整理自 VS Code 的 HTTP Client(REST Client)扩展的用户代码片段(Snippets),按用途分类说明。

一、请求类型

GET 请求

前缀用途
gtr基础 GET 请求,含请求头示例
gtrpGET 请求带查询参数(如 ?id=99
  • gtrGET {{host}}/api/,附带 Accept: application/json
  • gtrpGET {{host}}/api/?id=99,用于带查询参数的请求。

POST 请求

前缀用途
ptrPOST JSON 请求
ptrpPOST 表单(application/x-www-form-urlencoded)请求
mptrPOST multipart/form-data(含普通字段)
fptrPOST multipart/form-data(上传文件)
  • ptrPOST {{host}}/api/Content-Type: application/json,请求体为 JSON。
  • ptrpPOST {{host}}/api/Content-Type: application/x-www-form-urlencoded,请求体为 key=value 键值对。
  • mptr:multipart/form-data,包含普通字段 field-name / field-value,用 boundary=WebAppBoundary 分隔。
  • fptr:multipart/form-data 上传本地文件,字段用 filename 声明,文件内容用 < ./relative/path 读取本地文件。

WebSocket

  • wsr:WebSocket 请求,支持连接时发送消息、等待服务器返回、随后继续交互的三段式流程。

GraphQL

  • gqlr:GraphQL 请求,支持 http/https/ws/wss 协议,含 query 语句、变量定义及变量值 JSON。

二、认证与授权

前缀用途
auth定义一条 OAuth2 授权配置
authObj授权配置对象容器(Security > Auth
AuthorizationToken带 Bearer 令牌的请求头
BearerTokenBearer 令牌变量引用
  • auth:配置一条 OAuth2 认证,字段包括 Type(OAuth2)、Grant Type(授权类型,可选 authorization_code/client_credentials/password/implicit)、Client IDClient SecretToken Endpoint
  • authObj:外层包裹 "Security": { "Auth": {...} },用于把多条 auth 配置整合到 HTTP Client 的请求集合(.http 文件内嵌的 auth 对象)中。
  • AuthorizationToken:生成请求头 Authorization: Bearer {{auth_id.token}},把 OAuth2 令牌放入请求。
  • BearerToken:单独的 Bearer 令牌引用,Bearer {{auth_id.token}},用于其他需要令牌的场合。

具体用法(两步)

第一步:定义授权配置 —— 用 authObj 建容器,再用 auth 填充一条命名配置:

"Security": {
  "Auth": {
    "github": {
      "Type": "OAuth2",
      "Grant Type": "client_credentials",
      "Client ID": "你的-client-id",
      "Client Secret": "你的-client-secret",
      "Token Endpoint": "https://github.com/login/oauth/access_token"
    }
  }
}

其中 github 是这条配置的名字(ID),后面要用它来引用 token。

第二步:在请求里引用令牌 —— 用 AuthorizationToken 生成请求头:

GET https://api.github.com/user
Authorization: Bearer {{github.token}}
 
###
  • {{github.token}}github 对应第一步的配置名,.token 表示取该授权流程拿到的访问令牌。客户端会按 Grant Type 自动完成 OAuth2 流程换取 token 并注入请求头。
  • BearerTokenBearer {{github.token}})与 AuthorizationToken 区别:前者只是 Bearer 令牌引用本身,当 token 要放进非 Authorization 的字段或请求体时用。

三、环境变量与配置

前缀用途
var单个环境变量
envHTTP Client 环境对象
sslSSL 配置
  • var:定义单个环境变量,"var_name": "var_value"
  • env:定义环境(如 dev),其中包含一组变量,用于区分不同环境的 host、token 等。
  • ssl:SSL 配置,包含 clientCertificate(证书)、clientCertificateKey(私钥)、verifyHostCertificate(是否校验主机证书)、hasCertificatePassphrase(是否有证书密码)。

四、响应处理

前缀用途
jsonPath用 JSONPath 过滤响应
xpath用 XPath 过滤响应
  • jsonPathclient.log(jsonPath(response.body, "$.path")),从响应 JSON 中按 JSONPath 取字段并打印。
  • xpathclient.log(xpath(response.body, "/path")),从响应(HTML/XML)中按 XPath 取节点并打印。

速查对照表

分类前缀
GET 请求gtr, gtrp
POST 请求ptr, ptrp, mptr, fptr
WebSocketwsr
GraphQLgqlr
认证授权auth, authObj, AuthorizationToken, BearerToken
环境变量var, env
SSL 配置ssl
响应处理jsonPath, xpath