IDEA中這么強(qiáng)大的接口調(diào)試插件,相見恨晚??!
回復(fù)架構(gòu)師獲取資源
大家好,我是你們的朋友架構(gòu)君,一個(gè)會(huì)寫代碼吟詩(shī)的架構(gòu)師。
前言
在后端SpringBoo開發(fā)中,都需要一個(gè)接口測(cè)試工具,從一開始的postman,到現(xiàn)在的國(guó)產(chǎn)測(cè)試工具,數(shù)不勝數(shù),而最方便的莫過(guò)于在IDEA中就可以調(diào)試,因?yàn)镮DEA插件中有能力分析出當(dāng)前項(xiàng)目所編寫的Controller數(shù)據(jù),可以進(jìn)行統(tǒng)計(jì),更方便我們發(fā)起http請(qǐng)求,不需要復(fù)制url到別的測(cè)試工具了,今天就推薦一款,名叫Cool Request,他純免費(fèi)、開源。
-
插件名稱: Cool Request
-
作用: 簡(jiǎn)化SpringBoot后端接口調(diào)試流程。
-
安裝方式: IDEA 插件商店中搜索Cool Request
效果圖
Cool Request的界面非常簡(jiǎn)單,下面是他的主界面,可以收集項(xiàng)目的Controller信息。
基本HTTP請(qǐng)求
當(dāng)雙擊某個(gè)Controller時(shí)候,會(huì)跳轉(zhuǎn)到請(qǐng)求發(fā)送界面,在這里可以填寫參數(shù),Cool Request和同類的插件相比,在填寫Header時(shí)候,也是有提示的,而其他沒有,這一點(diǎn)非常方便。
結(jié)果預(yù)覽
Cool Request也有五種不同的響應(yīng)預(yù)覽,會(huì)自動(dòng)根據(jù)響應(yīng)頭中的Content-Type跳轉(zhuǎn)到不同的預(yù)覽效果里,有json、text、image、html、xml。
手動(dòng)觸發(fā)SpringBoot中的定時(shí)器。
測(cè)試定時(shí)器時(shí),不知道大家是怎么測(cè)試的,以前是通過(guò)單獨(dú)寫一個(gè)Controller,然后在內(nèi)部調(diào)用一下,而用了Cool Request,居然可以支持手動(dòng)觸發(fā),這樣無(wú)論定時(shí)器的時(shí)間間隔是多少,都可以在Cool Request中隨心所欲的調(diào)用。
反射調(diào)用
這一點(diǎn)可能是有點(diǎn)抽象,不好理解,這個(gè)功能只有在特定場(chǎng)景下才能體會(huì)到極其方便。
試想一下這個(gè)場(chǎng)景。
-
Controller返回的信息不需要用戶信息,也就是一些全局的數(shù)據(jù)
-
但是Controller需要用戶登錄后才能使用,即需要附帶Token
-
你的項(xiàng)目具有攔截器,會(huì)攔截沒有登錄的用戶
這個(gè)時(shí)候你有沒有想過(guò),我這個(gè)Controller又沒有用到用戶信息,能不能在調(diào)試時(shí)候繞過(guò)攔截器,以前的做法可能是關(guān)閉攔截器,或者先登錄,正常拿到Token后在調(diào)用,而Cool Request的這個(gè)功能就是解決這個(gè)問(wèn)題的,他可以通過(guò)反射的一系列技術(shù),繞過(guò)攔截器,將請(qǐng)求直接到達(dá)Controller,并返回結(jié)果。
使用方式是在請(qǐng)求界面選擇reflex,然后填寫參數(shù)后發(fā)起請(qǐng)求。
但是reflex也有缺點(diǎn),他同時(shí)也繞過(guò)了過(guò)濾器,并且沒有辦法讓過(guò)濾器也執(zhí)行,唯一的辦法是發(fā)起正常的HTTP請(qǐng)求。
強(qiáng)大的前后置腳本
最方便的莫過(guò)于Cool Request提供了java的前后置腳本了,也算不上腳本了,習(xí)慣這么叫,而其他插件要不就是沒有,要不就是提供的JS腳本,對(duì)不熟悉JS的人來(lái)說(shuō),增加了學(xué)習(xí)成本,而Cool Request就非常方便了,另外在編寫代碼時(shí),是有語(yǔ)法提示的,例如在腳本中修改參數(shù)的api,也不需要過(guò)多的學(xué)習(xí),幾乎是0成本。
在handlerRequest方法中,有兩個(gè)參數(shù),第一個(gè)是日志輸出接口,可以使用他的println方法輸出日志,會(huì)在右面的log窗口看到,第二個(gè)參數(shù)是HTTPRequest,他有一系列方法,使用.號(hào)時(shí)候就有提示,所有的方法我們一眼就能看出是做什么的。
更方便的是,腳本中可以調(diào)用項(xiàng)目的類,也支持第三方的類,比如SpringBoot內(nèi)置的一些Util工具類,都可以調(diào)用,已經(jīng)方便到極致了。
但是也有一個(gè)小缺點(diǎn),內(nèi)置的編譯器是java8的,也就是說(shuō),項(xiàng)目使用的java版本超過(guò)8,或者是第三方庫(kù)的版本超過(guò)java8,就無(wú)法調(diào)用了,比如項(xiàng)目使用了SpringBoot3,就無(wú)法調(diào)用,但是都可以在腳本中自己實(shí)現(xiàn)。
在一些動(dòng)態(tài)參數(shù)時(shí)候,非常有用,比如參數(shù)的簽名值,是通過(guò)一些參數(shù)計(jì)算出來(lái)的,或者是動(dòng)態(tài)時(shí)間。
支持多種請(qǐng)求體
Cool Request支持六種請(qǐng)求體,也支持二進(jìn)制文件上傳。
快速導(dǎo)入cURL參數(shù)
如果有一個(gè)cURL參數(shù)(可能是從瀏覽器中復(fù)制過(guò)來(lái)的),那么可以快速導(dǎo)入的Cool Request里面,同時(shí)也支持將請(qǐng)求復(fù)制為cURL格式。
導(dǎo)出到Apifox
如果團(tuán)隊(duì)使用了apifox,它還可以支持導(dǎo)出到apifox里面,雖然apifox自己也有插件,但是apifox不提供目錄選擇,而Cool Request支持,當(dāng)然需要配置apifox的一些token,這點(diǎn)可以在插件的官網(wǎng)找到詳細(xì)的說(shuō)明。
全局搜索API
可以通過(guò)一個(gè)api路徑來(lái)快速找到項(xiàng)目中的Controller位置。
靜態(tài)資源服務(wù)器
它內(nèi)置了一個(gè)靜態(tài)資源服務(wù)器,使用也非常簡(jiǎn)單,選擇目錄、選擇端口、開啟即可,就可以通過(guò)瀏覽器訪問(wèn)此目錄下的文件了。
更多功能,可以查看:
“https://github.com/houxinlin/cool-request
來(lái)源|juejin.cn/post/7333525949924327474
這些年小編給你分享過(guò)的干貨
2.優(yōu)質(zhì)ERP系統(tǒng)帶進(jìn)銷存財(cái)務(wù)生產(chǎn)功能(附源碼)
3.優(yōu)質(zhì)SpringBoot帶工作流管理項(xiàng)目(附源碼)
4.最好用的OA系統(tǒng),拿來(lái)即用(附源碼)
5.SBoot+Vue外賣系統(tǒng)前后端都有(附源碼)
6.SBoot+Vue可視化大屏拖拽項(xiàng)目(附源碼)

轉(zhuǎn)發(fā)在看就是最大的支持??
