All Projects → longforus → Api Debugger

longforus / Api Debugger

Licence: mit
🔨A like Postman API debugger that supports custom encryption. 一个类似Postman的支持自定义加密传输的后台API接口调试工具.

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to Api Debugger

Petshop
Pet Shop is an e-commerce application for Android built with Flutter (iOS to come soon).
Stars: ✭ 127 (+101.59%)
Mutual labels:  mobile-development, android-development
Android-daily-read-tips
log for articles and info in android for every developer
Stars: ✭ 13 (-79.37%)
Mutual labels:  android-development, mobile-development
Chucker
🔎 An HTTP inspector for Android & OkHTTP (like Charles but on device)
Stars: ✭ 2,169 (+3342.86%)
Mutual labels:  okhttp3, android-development
android-trinity
android-trinity is tiny proactive framework with much of the scaffolding code required to start a new Android Application.
Stars: ✭ 44 (-30.16%)
Mutual labels:  android-development, mobile-development
CircularDialogs
Android dialog library to give user feedback about the common operations like Success, Warning and Errors.
Stars: ✭ 35 (-44.44%)
Mutual labels:  android-development, mobile-development
Android Cleanarchitecture Kotlin
This is a movies sample app in Kotlin, which is part of a serie of blog posts I have written about architecting android application using different approaches.
Stars: ✭ 3,646 (+5687.3%)
Mutual labels:  mobile-development, android-development
Permissionsflow
A simple library to make it easy requesting permissions in Android using Kotlin Coroutines.
Stars: ✭ 49 (-22.22%)
Mutual labels:  android-development
Kotlin Android Scaffolding
An android project structure using kotlin and most common libraries.
Stars: ✭ 53 (-15.87%)
Mutual labels:  android-development
Postman Sandbox
Sandbox for Postman Scripts to run in Node.js or browser
Stars: ✭ 47 (-25.4%)
Mutual labels:  postman
Android Dev
⚡️ Curated list of resources for Android app development. Prepare for battle!
Stars: ✭ 44 (-30.16%)
Mutual labels:  android-development
The Third Eye
An AI based application to identify currency and gives audio feedback.
Stars: ✭ 63 (+0%)
Mutual labels:  android-development
Weekly
Android 开发技术周报
Stars: ✭ 58 (-7.94%)
Mutual labels:  android-development
Phonenumberverificationui Android
Check out the new style for mobile number verification 😉😉😊😊
Stars: ✭ 52 (-17.46%)
Mutual labels:  android-development
Flutter Calculator Demo
Example project - how to build a simple calculator in Flutter
Stars: ✭ 49 (-22.22%)
Mutual labels:  mobile-development
Bangjago Android Emulator
simple android emulator cli for mobile development
Stars: ✭ 56 (-11.11%)
Mutual labels:  android-development
Projector Docker
Run JetBrains IDEs remotely with Docker
Stars: ✭ 1,008 (+1500%)
Mutual labels:  swing
Facebook ui flutter
A UI clone of the Facebook app that I created using Flutter
Stars: ✭ 59 (-6.35%)
Mutual labels:  android-development
Todo List
待办事项APP
Stars: ✭ 45 (-28.57%)
Mutual labels:  okhttp3
Here Ios Sdk Examples
Objective-C and Swift projects using the HERE SDK for iOS.
Stars: ✭ 52 (-17.46%)
Mutual labels:  mobile-development
Httplive
HTTP Request & Response Service, Mock HTTP
Stars: ✭ 1,094 (+1636.51%)
Mutual labels:  postman

API debugger

A like Postman API debugger that supports custom encryption.

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

1

特征

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

安装

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

使用

  1. 创建项目:菜单栏 Project > new> 输入项目名称>OK

    2

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

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

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

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

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

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

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

    3

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

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

自定义加密扩展

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

  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应该有别的更优雅的方法,目前尚未实现).

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

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

    4

    5

    6

    7

  6. 添加splash闪屏图片: 拷贝splash.png到\out\production\classes目录下,在上一步生成的清单文件中添加最后一行.

       Manifest-Version: 1.0
       Main-Class: com.longforus.apidebugger.MainKt
       SplashScreen-Image: splash.png
    
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].