[VSCode插件推荐] REST Client: 也许是比Postman更好的选择
在測試REST API的時候,想必大家都會有不同的工具選擇。如果是基于CLI的話,大家應(yīng)該會選擇cURL。如果是GUI工具的話,相信很多人都會使用Postman。不過今天,筆者要推薦的是REST Client插件。也許,它是比Postman更好的選擇。
(掃描上方二維碼,訪問插件的Marketplace頁面)
相比于Postman,REST Client支持了?cURL?和?RFC 2616?兩種標(biāo)準來調(diào)用REST API。
RFC 2616
下面就是一個符合RFC 2616標(biāo)準的POST請求
POST http://dummy.restapiexample.com/api/v1/create HTTP/1.1content-type: application/json
{
? ?"name":"Hendry",
? ?"salary":"61888",
? ?"age":"26"
}
我們在VS Code新建一個以.http或者.rest?結(jié)尾的文件,填入你的HTTP請求,點擊Send Request,或者右鍵選擇Send Request,或者直接用快捷鍵 Ctrl+Alt+R ,你的REST API就執(zhí)行了,然后API Response就會顯示在右邊區(qū)域。是不是很方便?
cURL
下面是一個符合cURL標(biāo)準的POST請求
curl -X POST "http://dummy.restapiexample.com/api/v1/create" -d "Hello World"同樣地,也能通過REST Client在VS Code里一鍵運行。
HTTP語言
REST Client 添加了HTTP語言的定義,支持把以 .http 或者 .rest 結(jié)尾的文件當(dāng)作HTTP語言,提供了語法高亮,代碼自動補全,代碼注釋等功能。
看到這里,你也許會問,我直接用Postman在GUI上填一填REST API的各個字段不就行了,干嘛還要寫一個HTTP的文件。其實直接有一個HTTP文件的最大好處,就是方便分享。比如說,你可以把HTTP文件文件放到GitHub,這樣的話,所有開發(fā)或者使用項目的人都能復(fù)用這個HTTP文件了。也極大的方便管理你的所有REST API。
更方便的是,通過###分隔符,同一個HTTP文件里可以涵蓋多個HTTP請求。不像Postman,不同的HTTP請求需要放在不同的tab里。
代碼生成
“代碼生成”也是REST Client里一個很方便的功能,你可以方便地通過 Generate Code Snippet 命令來把HTTP請求生成出不同編程語言的代碼:JavaScript, Python, C, C#, Java, PHP, Go, Ruby, Swift等等主流語言。
高階功能
其實REST Client還有很多的功能,有需求的童鞋可以慢慢挖掘,筆者列出了一些比較有用的高階功能:
Authentication:REST Client支持了Basic Auth,SSL Client Certificates,Azure Active Directory等多種驗證機制
Cookies的支持
支持 HTTP 3xx 的重定向
變量的支持:環(huán)境變量,文件變量,預(yù)定義的系統(tǒng)變量等等
下面就是使用文件變量的一個例子,這樣在不同的HTTP請求中,變量就能共享了。其中,{{$datetime iso8601}} 是預(yù)定義的系統(tǒng)變量
@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的作者也是中國人哦~ 曾經(jīng)和筆者還是同事呢,是位大神哦!
總結(jié)
以上是生活随笔為你收集整理的[VSCode插件推荐] REST Client: 也许是比Postman更好的选择的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Docker 在 Linux 上托
- 下一篇: 2019 微软Build大会预告:值得开