# 安裝 略 # hello world > 1. 文檔地址: [https://marketplace.visualstudio.com/items?itemName=humao.rest-client](https://marketplace.visualstudio.com/items?ite ...
安裝
略
hello world
- 文檔地址: https://marketplace.visualstudio.com/items?itemName=humao.rest-client
- 文件尾碼為
.http
或.rest
- 一個文件有多個請求的話, 用
###
分割- 如果有報錯: Header name must be valid HTTP token , 細看官網, 則註意大小寫 content-type
- body 參數需要和 header 參數之間隔一個空行
歷史記錄
Ctrl+Alt+H
或者 Ctrl+p
輸入 Rest Client: Request History
查看最近的 50
此請求記錄
Ctrl+Alt+L
可以重新運行上次請求
變數功能
系統變數引用: {{$SystemVariableName}}
自定義變數應用: {{SystemVariableName}}
變數的類型
- 自定義變數
- 環境變數
- 文件變數
- 提示變數
- 請求變數
- 系統變數
環境變數
預設沒有環境
定義環境變數需要在 .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"
}
}
}
文件變數
- 聲明語法為
@variableName = variableValue
- 變數值可以包含空格, 可以使用
\
轉移特殊字元- 可以引用其他類型的變數
- 可以使用 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}}"
}
提示變數
略
請求變數
- 請求變數獲取的是緊臨的下一個請求的相應, 也可以認為是給最近的一個請求命名
- 請求變數聲明方式:
// @name requestName
或者# @name requestName
- 請求變數支持
JSONPath
或XPath
@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>]}}
本文來自博客園,作者:laolang2016,轉載請註明原文鏈接:https://www.cnblogs.com/khlbat/p/17464200.html