作為 Web 開發人員,開發和調試 REST API 是家常便飯。我們會用一些工具來模拟 HTTP 請求,最常用的可能就是 Postman 了。前不久還冒出一個女版 Postman,那就是 Postwoman,詳情可見我之前寫的一篇介紹:還在用 Postman 測試接口?是時候試試 Postwoman 了!
這些工具确實很實用,但也存在一些局限性。
通過模拟 HTTP 請求來測試 REST API 是比較常見的做法,但是要編輯接口文檔并進行版本管理,或者就是簡單地跟團隊成員共享,恐怕需要用到更多、更複雜的工具了。
有人說 Postman 付費版本就有這些功能呀。沒錯,但是要掏錢啊!本着能省則省的原則,有免費工具幹嘛不用呢。再者,團隊每個人都需要用 Postman 才行,我隻想單純寫個代碼,不想裝那麼多工具……
好了,大殺器即将出場。它就是 REST Client !
REST Client 是一個 VS Code 插件.
裝上它,你就可以在 VS Code 裡發送 HTTP 請求,檢視響應結果。這一切隻需要一個文本檔案,很容易加入到代碼倉庫中,友善版本管理。
優缺點
它主要的優勢就是可以做版本管理和團隊共享。
如果你在開發某個 API,你想讓其他開發小夥伴們也知道怎麼用你的接口,REST Client 就是個很好的幫手。
另外一個優勢就是簡單。前面說了,它隻需要一個文本檔案。它不但充當了發送請求的參數配置的角色,還可以作為接口文檔,當你忘了某個接口怎麼用的,直接翻出這個檔案看看就行了!
缺點呢?那就是你要用 VS Code……作為 VS Code 鐵粉,這根本就不是個事兒!當然,你要是用别的編輯器,那就……話說 VS Code 它不香嗎?
用法
很簡單,隻要建立一個擴充名為
.http
的檔案就行。比如要調用新浪股票的接口,我們建立一個
stock.http
檔案:
@baseUrl = http://hq.sinajs.cn
GET {{baseUrl}}/list=sh600519
Accept: application/json
編輯完後,編輯器裡會出現一個
Send Request
按鈕,點選就可以發送請求了。請求結果會顯示在右邊的新 tab 裡。是不是巨簡單?
通常 REST API 不會這麼簡單,可能還有其它
POST
,
PUT
,
DELETE
等各種請求方法,還會需要請求參數或 Header 等。寫法也很簡單,其實跟浏覽器開發工具裡顯示的差不多,隻要遵循 RFC 2616格式要求,包含請求方法、header和 body 就行了。這裡需要注意,header 内容要緊跟請求方法下一行,不能有空行,否則就是無效的。
POST https://example.com/comments HTTP/1.1
content-type: application/json
{
"name": "sample",
"time": "Wed, 21 Oct 2015 18:27:50 GMT"
}
進階
實際項目中可能有更複雜的場景,比如要測試不同環境下的接口。為此,REST Client 提供了各種變量。變量分為兩大類:自定義變量和系統變量。顧名思義,自定義變量就是使用者自己定義的變量。它又分為環境變量、檔案變量和請求變量。系統變量就是插件内置的一些變量,可以直接拿來用。具體用法可以參考官方文檔。
舉個例子,插件的環境變量是在 VS Code 的配置檔案中定義的,也就是
settings.json
檔案:
"rest-client.environmentVariables": {
"$shared": {
"version": "v1",
"prodToken": "foo",
"nonProdToken": "bar"
},
"local": {
"version": "v2",
"host": "localhost",
"token": "{{$shared nonProdToken}}",
"secretKey": "devSecret"
},
"production": {
"host": "example.com",
"token": "{{$shared prodToken}}",
"secretKey" : "prodSecret"
}
}
這樣,當你切換不同的環境時,就會啟用該環境下的變量值。
插件的簡單介紹就先到這裡,更多功能可以檢視插件的Github 倉庫。
更多前端技術幹貨盡在微信公衆号:1024譯站