天天看點

再見了,Postman!HTTP 接口測試出現新殺器

作為 Web 開發人員,開發和調試 REST API 是家常便飯。我們會用一些工具來模拟 HTTP 請求,最常用的可能就是 Postman 了。前不久還冒出一個女版 Postman,那就是 Postwoman,詳情可見我之前寫的一篇介紹:還在用 Postman 測試接口?是時候試試 Postwoman 了!

這些工具确實很實用,但也存在一些局限性。

通過模拟 HTTP 請求來測試 REST API 是比較常見的做法,但是要編輯接口文檔并進行版本管理,或者就是簡單地跟團隊成員共享,恐怕需要用到更多、更複雜的工具了。

有人說 Postman 付費版本就有這些功能呀。沒錯,但是要掏錢啊!本着能省則省的原則,有免費工具幹嘛不用呢。再者,團隊每個人都需要用 Postman 才行,我隻想單純寫個代碼,不想裝那麼多工具……

好了,大殺器即将出場。它就是 REST Client !

再見了,Postman!HTTP 接口測試出現新殺器

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 裡。是不是巨簡單?

再見了,Postman!HTTP 接口測試出現新殺器

通常 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譯站

再見了,Postman!HTTP 接口測試出現新殺器