# fix-http-tool **Repository Path**: fengkuangdejava/fix-http-tool ## Basic Information - **Project Name**: fix-http-tool - **Description**: fix-http-tool - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-10-12 - **Last Updated**: 2023-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Fix-Http-Tool 让接口调试不再痛苦 #### 背景 某人在执行自测任务,本次任务比较大,涉及到几个节点流程,需要执行A,执行B,再执行C. A,B,C几个逻辑分支比较多,需要不断地调整参数以便覆盖用例. 然后某人打开FixTool开始测试.发生过几次卡死.打开几个sim_bank程序,分别用来发不同的交易. notepad++ a,b,c共准备12个交易数据->开始不断切屏sim_bank发交易->开始不断切屏取note++取数据->切回sim_bank填数据,测的有问题->开始修改代码->开始切屏发交易->... 到最后,脑子都切花了,某次改动后,脑子转不动了,测试用例没有完全覆盖.然后提交了.不出意外打回了. 辛苦切来切去,万般小心.还是一次性测试不通过. #### 反思 FixTool并不好用. 1.一个交易只能保存一份数据.面对客户个性化交易码重名的情况下,更是麻烦 2.程序,调整参数后,加字段,改数据后再发交易就卡死或报错. 3.启动一个程序,只能测试一个交易. 4.对于关联性测试,全靠手动操作,切屏操作,费时费力容易出错.有没有可能和http一样写自动化测试逻辑.然后一键测试. #### 方案 如果测试fix能像post或者apifox调试http一样就好了.某人原本想写一块类似postman的fix-tool工具. 然后,突然间灵光一闪.fix报文其实相对http报文要简单的多.http请求完全可以转换成fix请求.所以 为什么不写个工具,通过发http请求转成fix请求.所以本工具应运而生 #### 快速上送 环境要求:jdk1.8 maven(开发需要 仅运行不用) 打包命令: mvn clean package -DskipTests=true 找到 install/fix-http.jar cmd运行 java -jar fix-http.jar. 然后服务就起起来了.默认端口:9999 访问http://localhost:9999/doc.html 查看接口文档 可以自行写个bat文件 启动 重启 停止 jar包 可以添加windows计划任务 开机自启 install 目录有现成的jar包 和 api测试工具 ps:配置内容在application.yml文件里 #### 修改记录 2023-10-11 初始功能完成 2023-10-16 转发功能和转换功能分开。 转发fix功能截图中的接口地址将sendFix改成forward. 转换工具功能截图中的接口地址将sendFix改成convert. 2023-10-16 加入支持sql转换 优化fix协议支持-支持内容超长处理 字符集 和 请求压缩 #### 补充说明 支持发json数组 会转成一个多条数据的dataSet 就不上图了 可以看代码 需要发json报文 目前row格式的只支持发单条数据dataSet 性能有限,异常处理没做优化,懒得优化了.开发使用,大部分没得问题.有兴趣可以自己做调整 支持在请求头中修改默认的转发ip和超时时间(毫秒)。字段:FixIp TimeOut apifox支持添加接口执行前的前置数据库sql,后置数据库sql,以及各种验证逻辑.比较方便自动化验证 #### 接口说明 不多说 上图 ![image](./doc/1-1.png) ![image](./doc/1-2.png) ![image](./doc/1-3.png) ![image](./doc/1-3-1.png) ![image](./doc/1-4.png) ![image](./doc/1-5.png) ![image](./doc/1-6.png)