vscode rest client

安装

hello world

  1. 文档地址: https://marketplace.visualstudio.com/items?itemName=humao.rest-client
  2. 文件后缀为 .http.rest
  3. 一个文件有多个请求的话, 用 ### 分割
  4. 如果有报错: Header name must be valid HTTP token , 细看官网, 则注意大小写 content-type
  5. body 参数需要和 header 参数之间隔一个空行

image

历史记录

Ctrl+Alt+H 或者 Ctrl+p 输入 Rest Client: Request History 查看最近的 50 此请求记录
Ctrl+Alt+L 可以重新运行上次请求

变量功能

系统变量引用: {{$SystemVariableName}}
自定义变量应用: {{SystemVariableName}}

变量的类型

  • 自定义变量
  1. 环境变量
  2. 文件变量
  3. 提示变量
  4. 请求变量
  • 系统变量

环境变量

默认没有环境
image

定义环境变量需要在 .vsocde 中添加 settings.json 文件. 环境变量会覆盖共享变量

{
    "rest-client.environmentVariables": {
        // 环境间共享的变量
        "$shared": {
            "version": "v1",
            "prodToken": "foo",
            "nonProdToken": "bar"
        },
        // local 环境
        "local": {
            "version": "v2",
            "host": "localhost",
            "token": "{{$shared nonProdToken}}",
            "secretKey": "devSecret"
        },
		// production 环境
        "production": {
            "host": "example.com",
            "token": "{{$shared prodToken}}",
            "secretKey": "prodSecret"
        }
    }
}

image

文件变量

  1. 声明语法为 @variableName = variableValue
  2. 变量值可以包含空格, 可以使用 \ 转移特殊字符
  3. 可以引用其他类型的变量
  4. 可以使用 VSCODE 的转到定义, 查找所有引用等功能
@hostname = api.example.com
@port = 8080
@host = {{hostname}}:{{port}}
@contentType = application/json
@createdAt = {{$datetime iso8601}}
@modifiedBy = {{$processEnv USERNAME}}

###

@name = hello

GET https://{{host}}/authors/{{name}} HTTP/1.1

###

PATCH https://{{host}}/authors/{{name}} HTTP/1.1
Content-Type: {{contentType}}

{
    "content": "foo bar",
    "created_at": "{{createdAt}}",
    "modified_by": "{{modifiedBy}}"
}

image

提示变量

请求变量

  1. 请求变量获取的是紧临的下一个请求的相应, 也可以认为是给最近的一个请求命名
  2. 请求变量声明方式: // @name requestName 或者 # @name requestName
  3. 请求变量支持 JSONPathXPath
@baseUrl = https://example.com/api

# @name login // 命名登录请求
POST {{baseUrl}}/api/login HTTP/1.1
Content-Type: application/x-www-form-urlencoded

name=foo&password=bar

###

@authToken = {{login.response.headers.X-AuthToken}} // 使用 login 请求的相应

# @name createComment
POST {{baseUrl}}/comments HTTP/1.1
Authorization: {{authToken}}
Content-Type: application/json

{
    "content": "fake content"
}

系统变量

{{$guid}}

{{$randomInt min max}}

{{$timestamp [offset option]}}

{{$datetime rfc1123|iso8601 [offset option]}}

{{$localDatetime rfc1123|iso8601 [offset option]}}

{{$processEnv [%]envVarName}}

{{$dotenv [%]variableName}}

{{$aadToken [new] [public|cn|de|us|ppe] [<domain|tenantId>] [aud:<domain|tenantId>]}}

posted @ 2023-06-07 19:07  laolang2016  阅读(387)  评论(0编辑  收藏  举报