介绍
RestClient是一款强大的VSCode插件,用来在实际工程开发中,测试API接口。
除了兼容curl命令行格式外,还能使用其专属的格式进行更灵活的操作,模拟一系列的接口操作(如登录-获取token-使用token获取其他信息-注销等)。
安装
在vscode的扩展商店中搜索"rest client"并安装即可。
上手使用
curl
假设我们要访问一个接口 'http://127.0.0.1:5000/hello' ,
该接口简单返回一个 'Hello World!':
使用Chrome控制台直接获取该接口的curl bash格式命令行:
Rest Client兼容bash的curl命令行格式,因此我们可以直接复制任何curl命令行,粘贴到vscode的文本中使用,文本格式不限,也不需要保存文件。
粘贴到VSCode的文本文件中:
全选curl命令行,默认有两种方法调用Rest Client客户端进行HTTP请求:
- 使用VSCode命令框搜索
Rest Client: Send Request - 直接使用快捷键
Ctrl+Alt+R请求成功后,右边会弹出请求结果,包含Header和Body:
HTTP文件
Rest Client支持创建.http文件来进行更复杂的http请求,使用标准的RFC 2616格式规范,每个http请求使用三个#进行隔开,使用@存储变量,使用{{}}来引用变量。
下面以一个场景为案例:
我们需要访问/login,传入正确的username和password获取token,然后根据token获取用户信息。
创建一个http文件,输入下面的内容:
@host=127.0.0.1
@port=5000
### 登录
# @name login
POST http://{{host}}:{{port}}/login
Content-Type: application/json
{
"username":"test",
"password":"some_password"
}
@user_token = Bearer {{login.response.body.access_token}}
### 获取用户详情
# @name get_user_detail
POST http://{{host}}:{{post}}/user_info
Content-Type: application/json
Authorization: {{user_token}}
{
}
@定义变量,{{}}使用变量,执行请求时会完整替换。这边定义了host和port,未来如果地址有变,直接修改变量,就不需要每个请求的host和port都改一遍。###定义一个请求的范围,这边定义了两个,登录和获取用户详情。# @name request_name定义一个请求的名字,后续可以使用这个名字获取它的request和response数据。这边定义了# @name login和# @name get_user_detail。@user_token = Bearer {{login.response.body.access_token}}将/login返回的body中的access_token赋值给user_token变量。
后面的获取用户详情接口在Header中的Authorization直接引用。
Rest Client的变量生命周期与文件保持一致,也就是说如果不关闭当前文件,这个user_token一直有效。