歡迎光臨
每天分享高質量文章

[VSCode外掛推薦] REST Client: 也許是比Postman更好的選擇

在測試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等等主流語言。

高階功能

其實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的作者也是中國人哦~ 曾經和筆者還是同事呢,是位大神哦!

 

    已同步到看一看
    贊(0)

    分享創造快樂