# REST Client

# vscode安装 REST Client 插件

# 1.创建一个 .http 或 .rest 文件

# 2.写入测试接口

符合 RFC 2616 标准的请求

GET http://172.16.248.12:32407/account/is-purchased?courseProductId=1695944 HTTP/1.1
content-type: application/json
x-request-token: 8fd35f4a4647dca2608f99e1f948865c
Accept: */*
POST http://172.16.248.12:32407/credits/coupon/draw HTTP/1.1
content-type: application/json
x-request-token: 8fd35f4a4647dca2608f99e1f948865c
Accept: */*

{
	"couponBaseSn": "417044078270611456"
}

符合 cURL 标准的请求

curl -X GET "http://172.16.248.12:32407/account/is-purchased?courseProductId=1695944" -H "accept: */*" -H "X-Request-Token: 8fd35f4a4647dca2608f99e1f948865c"
curl -X POST "http://172.16.248.12:32407/credits/coupon/draw" -H "accept: */*" -H "X-Request-Token: 8fd35f4a4647dca2608f99e1f948865c" -H "Content-Type: application/json" -d "{ \"couponBaseSn\": \"417044078270611456\"}"

# 3.发送请求,测试接口

点击 Send Request ,或者右键选择 Send Request ,或者直接用快捷键 Ctrl+Alt+R(或Cmd+Alt+R) ,你的 REST API 就执行了,然后 API Response 就会显示在右边区域。

# 4.自定义环境变量

不同的环境(开发、测试、生产),API 接口参数可能有所不同。
点击 Code => Preferences => Settings 打开设置,切换到 Workspace Settings ,配置 settings.json 文件。

{
  "rest-client.environmentVariables": {
    "$shared": {
        "version": "v1",
        "prodToken": "foo",
        "nonProdToken": "bar"
    },
    "local": {
        "version": "v2",
        "host": "localhost",
        "dummyhost": "local",
        "token": "{{$shared nonProdToken}}",
        "secretKey": "devSecret"
    },
    "production": {
        "host": "api.apiopen.top",
        "dummyhost": "dummy.restapiexample.com",
        "token": "{{$shared prodToken}}",
        "secretKey" : "prodSecret"
    }
  }
}
当然,rest-client 还有更多的配置项,例如:
rest-client.defaultHeaders:默认的 header 请求体,默认为 { "User-Agent": "vscode-restclient", "Accept-Encoding": "gzip" } ;
rest-client.timeoutinmilliseconds:超时时长,默认为 0 ms;
rest-client.previewOption:控制哪些部分应该通过rest-client预览,可选 full 、 headers 、 body 、 exchange ,默认为 full;
rest-client.followredirect:是否支持 HTTP 3xx 的重定向,默认支持;

# 5.自定义文件变量


### 文件变量
@port = 8080
@contentType = application/json

### 测试接口 RFC 2616
// 文件变量
@name = musicRankings
GET https://{{host}}/{{name}} HTTP/1.1

# 6.自定义请求变量

当单个请求结果的值需要被其它请求使用时,可以使用请求变量,格式为:@name newname ,请求变量引用语法为:

{{requestName.(response|request).(body|headers).(JSONPath|XPath|Header Name)}}

@contentType = application/json

###

# @name createComment
POST https://{{host}}/comments HTTP/1.1
Content-Type: {{contentType}}

###

# @name getCreatedComment

GET https://{{host}}/comments/{{createComment.response.body.$.id}} HTTP/1.1

Authorization: {{login.response.headers.X-AuthToken}}

# 7.系统变量

系统自带的一些变量,使用系统变量需要有 $符号

{{$guid}}唯一识别号
{{$randomInt min max}}返回一个min 和 max 之间的随机数
{{$timestamp [offset option]}}:添加UTC时间戳。
{{$timestamp number option}},例如3小时前{{$timestamp -3 h}};代表后天{{$timestamp 2 d}}。

# 参考

  1. 是时候抛弃Postman了,试试 VS Code 自带神器插件👏👏👏 (opens new window)