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

快速測試 API 介面的新技能

點選上方“芋道原始碼”,選擇“置頂公眾號”

技術文章第一時間送達!

原始碼精品專欄

 


摘要: 原文可閱讀 http://www.iocoder.cn/Fight/rest-client-use 「老梁」歡迎轉載,保留摘要,謝謝!

  • 開始工作

  • 多環境配置

  • 案例詳解

  • 參考資料


在日常開發過程中,我們或多或少都涉及到 API 介面的測試。例如,有的小夥伴使用 Chrome 的 Postman 外掛,或者使用火狐的 restclient 等工具。事實上,這些工具是測試 API 介面非常有效的方式之一,筆者之前也一直使用 Postman 完成 API 介面的測試工作。今天,筆者推薦另外一個非常好用的小工具,能夠幫助讀者快速測試 API 介面。這個工具就是 IDEA 的 Editor REST Client

IDEA 的 Editor REST Client 在 IntelliJ IDEA 2017.3 版本就開始支援,在 2018.1 版本添加了很多的特性。事實上,它是 IntelliJ IDEA 的 HTTP Client 外掛。

開始工作

首先,我們可以在任意目錄下建立一個 xxx.http 檔案,如圖所示。

這裡,我們需要使用 ### 進行 HTTP 請求分割,併在後面新增註釋,案例如下所示。

### 使用者登入
POST http://localhost:8088/oauth/token?grant_type=password&username;=lgz&password;=123456
Accept : application/json
Content-Type : application/json;charset=UTF-8
Authorization: Basic client secret
Cache-Control : no-cache

因此,我們獲得的響應內容。

http://7xivgs.com1.z0.glb.clouddn.com/idea-http-client02.gif
(電腦訪問,gif 圖太大)

多環境配置

在開發過程中,我們通常會存在多套環境,例如開發環境測試環境預發環境生產環境 等。因此,如果 Editor REST Client 能夠像 Postman 一樣做到多環境配置就太棒了。事實上,Editor REST Client 已經支援了這個特性,我們只需要建立 rest-client.env.json 檔案,並且配置多環境資訊即可。

{
  "development" : {
    "url" : "http://localhost:8088",
    "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c"
  },
  "test" : {
    "url" : "http://localhost:8089",
    "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c"
  },
  "preproduction" : {
    "url" : "http://activity.720ui.com",
    "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c"
  },
  "product" : {
    "url" : "http://activity.720ui.com",
    "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c"
  }
}

此時,改造之前的 URL,將 http://localhost:8088 改造成 url 代替。

POST {{url}}/oauth/token?grant_type=password&username;=lgz&password;=123456

這裡,我們獲得的整體效果。

案例詳解

現在,我們來寫一個完整的案例。

### 建立使用者資訊
POST {{url}}/v1/m/users
Accept : application/json
Content-Type : application/json;charset=UTF-8
Authorization: {{token}}
{
    "username""xiaoyue",
    "realname""小嶽",
    "password""111111",
    "email""lianggzone@163.com",
    "tel""18305930000",
    "weixin""LiangGzone",
    "sex": 1
}

### 修改使用者資訊
PUT {{url}}/v1/m/users/723181
Accept : application/json
Content-Type : application/json;charset=UTF-8
Authorization: {{token}}
CachePATCH-Control : no-cache
{
    "username""xiaoyue"
}

### 查詢使用者資訊
GET {{url}}/v1/c/users/lgz/username
Accept : application/json
Content-Type : application/json;charset=UTF-8
Authorization: {{token}}

### 查詢使用者資訊串列
GET {{url}}/v1/c/users?keyword=梁
Accept : application/json
Content-Type : application/json;charset=UTF-8
Authorization: {{token}}

參考資料

  • https://marketplace.visualstudio.com/items?itemName=humao.rest-clientt




如果你對 Dubbo 感興趣,歡迎加入我的知識星球一起交流。

知識星球

目前在知識星球(https://t.zsxq.com/2VbiaEu)更新瞭如下 Dubbo 原始碼解析如下:

01. 除錯環境搭建
02. 專案結構一覽
03. 配置 Configuration
04. 核心流程一覽

05. 拓展機制 SPI

06. 執行緒池

07. 服務暴露 Export

08. 服務取用 Refer

09. 註冊中心 Registry

10. 動態編譯 Compile

11. 動態代理 Proxy

12. 服務呼叫 Invoke

13. 呼叫特性 

14. 過濾器 Filter

15. NIO 伺服器

16. P2P 伺服器

17. HTTP 伺服器

18. 序列化 Serialization

19. 叢集容錯 Cluster

20. 優雅停機

21. 日誌適配

22. 狀態檢查

23. 監控中心 Monitor

24. 管理中心 Admin

25. 運維命令 QOS

26. 鏈路追蹤 Tracing


一共 60 篇++

贊(0)

分享創造快樂