API debugger 一个类似Postman的支持自定义加密传输的后台API接口调试工具.

A like Postman API debugger that supports custom encryption.

一个类似Postman的支持自定义加密传输的后台API接口调试工具.
项目地址:https://github.com/longforus/api-debugger

1.png

特征

  • 支持可扩展的自定义的参数加密方式.
  • 使用数据库按项目分开保存BaseUrl和接口Api列表,一次配置,持续使用.
  • 支持多个BaseUrl点击切换.请求参数动态增删.
  • 支持默认请求参数配置,该项目下的每一个接口请求都会默认添加默认请求参数.
  • 使用Json Editor Online展示请求结果json,美观,易用.
  • 支持简单的接口压力测试

安装

点击下载最新release包.在安装了JDK1.8或者JRE1.8的电脑上,双击jar包直接运行.

使用

  1. 创建项目:菜单栏 <kbd>Project</kbd> > <kbd>new</kbd>> <kbd>输入项目名称</kbd>><kbd>OK</kbd>
2.png

看到当前打开的项目就OK了.

  1. 输入BaseUrl,点击保存生效.

  2. 输入接口Url,最后的请求Url = baseUrl+接口Url.

  3. 选择请求方法,现在只做了POST和GET方法.

  4. 选择加密方式.default是没有加密,直接发送.

  5. Add Row 添加一个请求参数.

  6. 填写请求参数的key和value,这里需要注意的是需要表格失去焦点变为蓝色之后,这个值才会被保存生效.

    3.png
  1. 点击小飞机发送请求.请求的相关信息在右上部分的Request Information中显示.请求结果在下面的Json Editor中显示.

  2. 请求成功返回后这个接口的url,方法,加密方式和请求参数会自动保存到数据库中.添加其他请求只需直接输入接口url和参数,方法等配置进行测试,前一个接口的信息不会被覆盖.

自定义加密扩展

该App界面使用Java实现,逻辑使用Kotlin实现.内部数据库为ObjectBox,需要达到自定义加密的目的的话.需要自行扩展.

  1. [重点]fork仓库clone到本地后,使用IDEA打开.下载 jxbrowser-对应平台-6.20.jar (链接:https://pan.baidu.com/s/1B3ErPhbrocIaGhu3zg8RMA 密码:1wn9 ) 拷贝到lib中(太大了不好传).

  2. 在build生成out文件夹后,解压jsonView.zip到\out\production\classes\com\longforus\apidebugger\ui目录下(这样生成jar包的时候才会把这些文件包含到jar包中,gradle应该有别的更优雅的方法,目前尚未实现).

  1. 实现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
        }
    }
    
  2. 新建一个实现类的实例添加到com.longforus.apidebugger.MyValueHandler#getEncryptImplList中.第0个为默认显示item.现在就可以在加密方式中选择你自己的加密方式了.

    
    object MyValueHandler {
        val encryptImplList = listOf<IEncryptHandler>(YourEncryptHandler(), DefaultEncryptHandler())
       }
    
  3. 打包可运行的jar包:


    4.png
5.png
6.png
7.png
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,342评论 19赞 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,456评论 6赞 342
  • “我主动来找你,是因为我太喜欢你,我已经不主动找你,因为你每一句回复都敷衍得那么不走心,不是不喜欢你了,只是不敢再...
    Nancy傻乎乎1221阅读 260评论 0赞 0
  • 这是小叶第一次来昆仑虚,不愧是四海八荒敬重的战神墨渊的地方,仙气极盛,幸亏小叶没有法力,左右不受影响,否则修为低一...
    布衣米饭阅读 2,416评论 3赞 29
  • 踏 青 黄鹂戏水芦苇坡, 苑上青青月映河。 观摩美景皆是画, 挥洒笔墨赋情歌。 叹 晚 夜幕廓下月映河, 凄凄漓漓...
    晓月煜焥阅读 344评论 1赞 3

友情链接更多精彩内容