點選上方“芋道原始碼”,選擇“置頂公眾號”
技術文章第一時間送達!
原始碼精品專欄
摘要: 原文可閱讀 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
因此,我們獲得的響應內容。
多環境配置
在開發過程中,我們通常會存在多套環境,例如開發環境、測試環境、預發環境、生產環境 等。因此,如果 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 篇++