640?wx_fmt=gif

 

640?wx_fmt=jpeg

在测试 REST API 的时候,想必大家都会有不同的工具选择。如果是基于 CLI 的话,大家应该会选择 cURL。如果是 GUI 工具的话,相信很多人都会使用 Postman。不过今天,笔者要推荐的是 REST Client 插件。也许,它是比 Postman 更好的选择。

640?wx_fmt=png

(扫描上方二维码,访问插件的 Marketplace 页面)

相比于 Postman,REST Client 支持了 cURL 和 RFC 2616 两种标准来调用 REST API。

 

640?wx_fmt=png

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 就会显示在右边区域。是不是很方便?

640?wx_fmt=png

 

640?wx_fmt=png

cURL

 

下面是一个符合 cURL 标准的 POST 请求:

curl -X POST "http://dummy.restapiexample.com/api/v1/create" -d "Hello World"

同样地,也能通过 REST Client 在 VS Code 里一键运行。

 

640?wx_fmt=png

HTTP 语言

 

REST Client 添加了 HTTP 语言的定义,支持把以 .http 或者 .rest 结尾的文件当作 HTTP 语言,提供了语法高亮,代码自动补全,代码注释等功能。

640?wx_fmt=png

看到这里,你也许会问,我直接用 Postman 在 GUI 上填一填 REST API 的各个字段不就行了,干嘛还要写一个 HTTP 的文件。其实直接有一个 HTTP 文件的最大好处,就是方便分享。比如说,你可以把 HTTP 文件放到 GitHub,这样的话,所有开发或者使用项目的人都能复用这个 HTTP文 件了。也极大地方便管理你所有的 REST API。

更方便的是,通过 ### 分隔符,同一个 HTTP 文件里可以涵盖多个 HTTP 请求。不像 Postman,不同的 HTTP 请求需要放在不同的 tab 里。

640?wx_fmt=png

 

640?wx_fmt=png

代码生成

 

“代码生成”也是 REST Client 里一个很方便的功能,你可以方便地通过  Generate Code Snippet 命令来把 HTTP 请求生成出不同编程语言的代码:JavaScript、Python、C、C#、Java、PHP、Go、Ruby、Swift 等主流语言。

640?wx_fmt=png

 

640?wx_fmt=png

高阶功能

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 领域专家。

声明:本文为作者投稿,版权归其所有。


640?wx_fmt=jpeg

 热 文 推 荐 

☞ 华为确认开发自有操作系统,以防万一!

☞ 谷歌、Facebook 大规模宕机!“裸奔时代”程序员该怎么办?

@程序员,多写点“坏”代码吧!

虎口夺食! 打破Facebook谷歌垄断, MIT大神和他的区块链数据库传奇! |人物志

☞ 杨超越第一,Python第二

以安全之名:2019年DevSecOps社区调研白皮书解读

再不编程就老了!05 后比特币专家准备赚个 134,000,000 元!

☞ 身为程序员的父母,你年薪多少才能让“码二代” 不输起跑线上?

 

System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

640?wx_fmt=png喜欢就点击“好看”吧!

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐