當前位置: 華文世界 > 科技

都2024了,還在用 Postman 做 HTTP 介面測試嗎?

2024-10-27科技

來源丨經授 權轉自 古時的風箏(ID:gushidefengzheng)

作者丨 風箏

作為Java開發者,尤其是做業務開發的,免不了要寫一大堆介面,也就是我們所說的 Controller API。

身為一名合格的後端開發人員,我們不能直接把寫完的介面拋給前端用(ps:雖然有一些人就是這麽幹的,實話說,我也這麽幹過,但前提是跟前端關系比較好,要不然容易挨打)。而是先自己測試一下(俗稱自測),等測試透過了,再上測試環境,再給前端聯調。

從而節省來回返工和扯皮的時間,順便也能維護作為後端的尊嚴,以及證明自己寫的程式碼質素沒問題。


那你平時做介面測試的時候用什麽工具呢?我問了一圈發現,很多人都用 Postman。Postman 確實是很好用,我也用,但是更多的是用來測試第三方服務,比如要整合一個外部HTTP SDK,一般會在 Postman 中單獨建立一個集合來用。

但是如果是平時做寫 Java 介面的話,再從 IDEA 中跳出來到 Postman 中建立一個 Request 就有點兒麻煩了。人懶,所以我選擇在 IDEA 中無縫完成,不來回切換視窗。

這就說到今天的主角了,IDEA 中的一個 HTTP 請求外掛程式 - HTTP Client

使用 HTTP Client 外掛程式,可以直接在 IntelliJ IDEA 程式碼編輯器中建立、編輯和執行 HTTP 請求。

在外掛程式市場搜尋 HTTP Client 安裝即可,這還是 JetBrains 官方出品的。

安裝完成後,專案中Controller 中帶有 @RequestMapping @GetMapping @PostMapping 註解的HTTP介面前都會多一個小圖示,IDEA 版本不一樣圖片的樣式也有些差別。但是功能都一樣,點選小圖示,會轉到一個以 .http 結尾的檔中,這就是 HTTP Client 的編輯器,可以在這裏建立一個專案或者一個 Controller 的所有請求。

然後在 .http 檔中,點選任何一個介面前的綠色小按鈕,就可以執行請求了。

所有的 .http 檔統一在專案的 Scratches and Consoles 下的 Scratches 目錄下,可以根據功能模組建立多個檔,來區分不同的功能,和 Postman中的集合是一個意思。

可以透過左上角小按鈕來添加不同類別的請求,比如 Get、不同參數形式的 Post ,還支持GRPC、WebSocket 這些。

這裏要說一個小技巧 ,有時候我們做的一個 POST 介面請求參數過多,有些大表單甚至有幾十個參數,這也是很多人不想測試的原因,構造表單參數就很麻煩了。

可以裝一個實體轉 JSON 的外掛程式,直接一下將實體類轉為 JSON 。這不一個JSON參數就出來了,比如這個 POJO to JSON 外掛程式。

例如,進入到一個參數實體中,點選右鍵,然後選擇 Copy Json ,完整的 JSON 參數就有了,很方便。

如果不想裝外掛程式的話,可以用 ChatGPT、Kimi ,將實體類給他們,讓他們轉一個 JSON 出來,只要你的參數名命名規範,出來的參數值都堪稱完美。

說回 HTTP Client,還可以建立不同的環境檔,來區分不同的環境,比如開發和測試環境。

我建立了一個環境檔,然後在裏面定義了 dev 和 test 兩個環境,每個環境裏的參數值是不一樣的。

然後在請求中選擇對應的環境,就可以使用對應的參數了。

HTPP Client 當然也考慮到一直使用 Postman 的使用者了,安裝 Import from Postman Collections 這個外掛程式後,可以一鍵將 Postman 集合導進來,然後在 IDEA 中快速的將 Postman 的請求轉為 HTTP Client 請求。

別的功能其實還有,比如支持指定 HTTP 協定的版本,在結尾加上 HTTP/2 可以指定使用 HTTP/2 協定。

將 curl 命令貼上進去,自動轉為 HTTP Client 格式等等。

1、 vivo 開獎了,勸退價。。。

2、 華為線下面通關,等開獎!

3、 開發了世界上最流行的軟件,竟然被人追殺,開源太可怕了...

4、 哦豁!Intel攤上事兒了!

5、 在口算APP「炸魚」小學生,成了當下最讓大學生上頭的遊戲......