Java精選面試題(微信小程序):5000+道面試題和選擇題,真實面經,簡歷模版,包含Java基礎、并發、JVM、線程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架構設計、大廠真題等,在線隨時刷題!
![]()
經歷了整整一年的開發,現在這款插件終于可以測試了,可以進行下載(Idea版本僅支持2021.1及以上)。
選擇 FIle > Setting > Plugins > 搜索Cool Request
![]()
那么,這個插件到底解決了什么問題?以至于我花了一整年時間。
每個后端程序員都需要借助postman這類工具進行測試,而這類百花齊放的接口測試工具數不勝數,國內也陸續出現apipost、apifox這些,而idea端的接口測試工具也有,那為什么我還會開發一個類似的呢?
沒錯,它肯定有別人沒有的功能,更強大,更方便。
功能一:攔截器繞過
其中之一是繞過攔截器,這是這個插件的核心功能,第二個核心功能是對springboot內的調度器就行手動觸發。
先說核心,后端都會配置攔截器,用來權限驗證,必須登錄的用戶才可以對接口調用,但問題就出在,有些接口用不到用戶信息,開發時候有三個辦法調試,第一個關閉攔截器,等這個接口開發好在打開,第二個方法是加入攔截器的排除列表,之后再添加回去,第三個,進行登錄,獲取token后,測試時添加token,但無論如何,也多少是有點麻煩的。
所以,這個插件的核心之一就是可以讓某個接口在調用時繞過攔截器,你可能聽起來有點迷惑,那我這個接口還安全嗎,放心,攔截器繞過只有在配合這個插件時候可以繞過,不是什么spring得漏洞,在發布后,是沒辦法繞過的。
而且,調用時候可以傳給任何http參數,在普通http調用時,如果要傳的文件比較大,可能需要等待,而使用這個插件,在任何大小文件時,都是秒傳,因為他的工作方式是運行反射調用,而非真正發起一個http請求,這個功能在所有同類型插件中只有本插件有哦。
![]()
功能二:可選擇調用對象
另外,輔助功能是可以選擇代理對象還是原對象,這個如何理解?
網上很多aop例子都是切入controller進行日志獲取,那么這個controller就會被spring生成一個代理對象,對這個controller內的方法調用時,都會先進入aop代碼,而這個插件也可以選擇是對原對象調用還是代理對象,這樣做的目的是可以繞過aop代碼,他的應用場景在于,可以判斷問題是不是由于aop引起的,因為你可以選擇調用的對象是原對象,如果選擇原對象后沒有問題,邏輯是正常,而使用aop后邏輯不正常,那么很可能問題就出在aop代碼上了,而以前的排查方式是,手動把aop代碼注釋掉,重啟在測試,而現在在運行時候,不改代碼就可以做到這一點。
功能三:觸發調度器
第二個核心功能是對調度器的手動觸發功能,調度器通常都有一個間隔式的觸發時間,在調試時,也不能真的去等待吧觸發吧,除非時間比較短,通常也是寫一個controller去調用,也是比較麻煩,而這個插件在運行時候可以統計出所有調度器,并且提供一個按鈕,可以手動觸發調度器代碼。
極快的掃描方式已經完全不需要用戶修改url主機地址
這個插件掃描方式和所有同類型插件不同,其他插件是靜態掃描,如果項目很大,文件很多,掃描會很慢,甚至是卡頓,如果controller在第三方包中,那么可能掃描不到,也有可能掃描更加慢。
而這款插件是在運行時向springboot容器獲取,springboot掃描到了什么,這個插件就會顯示什么,如果項目有1k個接口,他也可以在1秒內顯示所有信息
另外相比于同類型插件,他們默認發起的端口要不就是寫死的8080,需要用戶手動去改,要不就是根據配置文件讀取用戶配置的端口,但是,springboot太強大了,配置端口的方法很多,用戶可能不是在配置文件中配置的,而是通過代碼或者啟動參數,那么這些插件就無能為力了,最終還需要用戶去手動改。
而本插件不一樣,是在運行時候通過接口獲取的springboot管理的端口,這樣就消除了用戶要修改端口的步驟。
功能四:腳本支持
這是目前同類型插件所沒有的功能,但是遺憾的是,最初的設想是開發獨立的腳本解釋器,但在途中還是放棄了,因為會由于考慮不周的原因,如果開放的api無法滿足用戶需求,那么就相當于沒有,所以目前只能集成java編譯器,使用java語法進行前置、后置腳本的編寫,但是在未來一段時間 ,會集成獨立的腳本解釋器。
![]()
功能五:接口導出
接口信息通常都需要進行文檔輸出,就像上面所說,可能會使用apifox或者apipost,又或者是postmam。
本插件可以一鍵同步到apifox,apipost暫時不支持,但是可以導出成openapi的格式,在apipost中導入。
而在apifox的對接能力上,秉著做有用的工具的思想,這里做的比apofox本身提供的插件還多了一個功能,也就是選擇輸出的文件目錄。
并且擁有參數描述提取能力,這方面弱于apifox,目前只支持提取io.swagger.v3庫下描述的字段。
![]()
功能六:響應預覽
目前支持5種格式預覽,分別是json、text、image、html、xml,在成功響應后,會自動推測出響應的格式,并自動解析。
![]()
功能七:快速調試接口
在樹形列表中,雖然顯示出了所有controller,但是還需要用戶去找,但如果你當前編輯頁下有你需要調試的接口,可以右擊方法,選擇。
Request Current Method即可
作者:i聽風逝夜
來源:juejin.cn/post/7313242069099085874
公眾號“Java精選”所發表內容注明來源的,版權歸原出處所有(無法查證版權的或者未注明出處的均來自網絡,系轉載,轉載的目的在于傳遞更多信息,版權屬于原作者。如有侵權,請聯系,筆者會第一時間刪除處理!
最近有很多人問,有沒有讀者交流群!加入方式很簡單,公眾號Java精選,回復“加群”,即可入群!
文章有幫助的話,點在看,轉發吧!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.