测试 REST API,到底应该选择什么样的 VS Code 插件?
在测试 REST API 的时候,想必大家都会有不同的工具选择。如果是基于 CLI 的话,大家应该会选择 cURL。如果是 GUI 工具的话,相信很多人都会使用 Postman。不过今天,笔者要推荐的是 REST Client 插件。也许,它是比 Postman 更好的选择。(扫描上方二维码,访问插件的 Marketplace 页面)相比于 Postman,REST Cl...
在测试 REST API 的时候,想必大家都会有不同的工具选择。如果是基于 CLI 的话,大家应该会选择 cURL。如果是 GUI 工具的话,相信很多人都会使用 Postman。不过今天,笔者要推荐的是 REST Client 插件。也许,它是比 Postman 更好的选择。
(扫描上方二维码,访问插件的 Marketplace 页面)
相比于 Postman,REST Client 支持了 cURL 和 RFC 2616 两种标准来调用 REST API。
RFC 2616
下面就是一个符合 RFC 2616 标准的 POST 请求:
POST http://dummy.restapiexample.com/api/v1/create HTTP/1.1
content-type: application/json
{
"name":"Hendry",
"salary":"61888",
"age":"26"
}
我们在 VS Code 新建一个以 .http
或者 .rest
结尾的文件,填入你的 HTTP 请求,点击 Send Request
,或者右键选择 Send Request
,或者直接用快捷键 Ctrl+Alt+R ,你的 REST API 就执行了,然后 API Response 就会显示在右边区域。是不是很方便?
cURL
下面是一个符合 cURL 标准的 POST 请求:
curl -X POST "http://dummy.restapiexample.com/api/v1/create" -d "Hello World"
同样地,也能通过 REST Client 在 VS Code 里一键运行。
HTTP 语言
REST Client 添加了 HTTP 语言的定义,支持把以 .http
或者 .rest
结尾的文件当作 HTTP 语言,提供了语法高亮,代码自动补全,代码注释等功能。
看到这里,你也许会问,我直接用 Postman 在 GUI 上填一填 REST API 的各个字段不就行了,干嘛还要写一个 HTTP 的文件。其实直接有一个 HTTP 文件的最大好处,就是方便分享。比如说,你可以把 HTTP 文件放到 GitHub,这样的话,所有开发或者使用项目的人都能复用这个 HTTP文 件了。也极大地方便管理你所有的 REST API。
更方便的是,通过 ###
分隔符,同一个 HTTP 文件里可以涵盖多个 HTTP 请求。不像 Postman,不同的 HTTP 请求需要放在不同的 tab 里。
代码生成
“代码生成”也是 REST Client 里一个很方便的功能,你可以方便地通过 Generate Code Snippet 命令来把 HTTP 请求生成出不同编程语言的代码:JavaScript、Python、C、C#、Java、PHP、Go、Ruby、Swift 等主流语言。
高阶功能
60s测试:你是否适合转型人工智能?
https://edu.csdn.net/topic/ai30?utm_source=csdn_bw
其实 REST Client 还有很多功能,有需求的童鞋可以慢慢挖掘,笔者列出了一些比较有用的高阶功能:
-
Authentication:REST Client 支持了 Basic Auth、SSL Client Certificates、Azure Active Directory 等多种验证机制
-
Cookies 的支持
-
支持 HTTP 3xx 的重定向
-
变量的支持:环境变量、文件变量、预定义的系统变量等等
下面就是使用文件变量的一个例子,这样在不同的 HTTP 请求中,变量就能共享了。其中,{{$datetime iso8601}} 是预定义的系统变量:
@hostname = api.example.com
@port = 8080
@host = {{hostname}}:{{port}}
@contentType = application/json
@createdAt = {{$datetime iso8601}}
###
@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}}
}
最后再给大家透露下:其实 REST Client 的作者也是中国人哦,曾经和笔者还是同事呢,是位大神哦!
作者:韩骏,微软研发工程师,VS Code 代码贡献者,VS Code 及 IoT 领域专家。
声明:本文为作者投稿,版权归其所有。
热 文 推 荐
☞ 谷歌、Facebook 大规模宕机!“裸奔时代”程序员该怎么办?
虎口夺食! 打破Facebook谷歌垄断, MIT大神和他的区块链数据库传奇! |人物志
☞ 再不编程就老了!05 后比特币专家准备赚个 134,000,000 元!
☞ 身为程序员的父母,你年薪多少才能让“码二代” 不输起跑线上?
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"
点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。
喜欢就点击“好看”吧!
更多推荐
所有评论(0)