API debugger 一個類似Postman的支援自定義加密傳輸的後臺API介面除錯工具
API debugger
A like Postman API debugger that supports custom encryption.
特徵
- 支援可擴充套件的自定義的引數加密方式.
- 使用資料庫按專案分開儲存BaseUrl和介面Api列表,一次配置,持續使用.
- 支援多個BaseUrl點選切換.請求引數動態增刪.
- 支援預設請求引數配置,該專案下的每一個介面請求都會預設新增預設請求引數.
- 支援簡單的介面壓力測試
安裝
點選下載最新release包.在安裝了JDK1.8或者JRE1.8的電腦上,雙擊jar包直接執行.
使用
-
建立專案:選單欄 Project > new
看到當前開啟的專案就OK了. -
輸入BaseUrl,點選儲存生效.
-
輸入介面Url,最後的請求Url = baseUrl+介面Url.
-
選擇請求方法,現在只做了POST和GET方法.
-
選擇加密方式.default是沒有加密,直接傳送.
-
Add Row 新增一個請求引數.
-
填寫請求引數的key和value,這裡需要注意的是需要表格失去焦點變為藍色之後,這個值才會被儲存生效.
-
點選小飛機發送請求.請求的相關資訊在右上部分的Request Information中顯示.請求結果在下面的Json Editor中顯示.
-
請求成功返回後這個介面的url,方法,加密方式和請求引數會自動儲存到資料庫中.新增其他請求只需直接輸入介面url和引數,方法等配置進行測試,前一個介面的資訊不會被覆蓋.
自定義加密擴充套件
該App介面使用Java實現,邏輯使用Kotlin實現.內部資料庫為ObjectBox,需要達到自定義加密的目的的話.需要自行擴充套件.
-
**[重點]**fork倉庫clone到本地後,使用IDEA開啟.下載 jxbrowser-對應平臺-6.20.jar (連結:https://pan.baidu.com/s/1B3ErPhbrocIaGhu3zg8RMA 密碼:1wn9 ) 拷貝到lib中(太大了不好傳).
-
在build生成out資料夾後,解壓jsonView.zip到
\out\production\classes\com\longforus\apidebugger\ui
-
實現
com.longforus.apidebugger.encrypt.IEncryptHandler
抽象類.可參考預設實現類com.longforus.apidebugger.encrypt.DefaultEncryptHandler
/** * Created by XQ Yang on 8/30/2018 5:11 PM. * Description : 加密處理 */ abstract class IEncryptHandler { //這個加密型別的code,同一工程不允許出現相同的 abstract val typeCode:Int //顯示在介面上的名字 abstract val title: String //實現get方法的引數加密 abstract fun onGetMethodEncrypt(params: Map<String, String>?, builder: Request.Builder, url: String) //實現post方法的引數加密 abstract fun onPostMethodEncrypt(params: Map<String, String>?, builder: Request.Builder, url: String): RequestBody override fun toString(): String { return title } }
-
新建一個實現類的例項新增到
com.longforus.apidebugger.MyValueHandler#getEncryptImplList
中.第0個為預設顯示item.現在就可以在加密方式中選擇你自己的加密方式了.object MyValueHandler { val encryptImplList = listOf<IEncryptHandler>(YourEncryptHandler(), DefaultEncryptHandler()) }
-
打包可執行的jar包: