# web-attach-agent **Repository Path**: TomSale/web-attach-agent ## Basic Information - **Project Name**: web-attach-agent - **Description**: 为springboot的任务类提供http路由转发 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-31 - **Last Updated**: 2025-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Web探针增强路由 > 普通应用增加一个简单的web转发服务。 ### 背景 在现有业务架构中,存在应用 A 与应用 B 的交互场景。应用 B 部署于内网环境,应用 A 作为任务型应用,在开发阶段,开发人员可在本地直接调用应用 A 内的方法实现与应用 B 的访问交互,满足日常开发测试需求。 然而,当业务移交至测试环节后,测试团队采用黑盒测试方式进行验证时,面临着无法直接执行应用 A 内部方法的困境。由于测试环境的隔离性及黑盒测试的特性,测试人员无法像开发本地环境那样直接触发应用 A 中与应用 B 交互的相关方法,导致测试流程受阻,无法有效验证应用间的交互逻辑。 为解决这一问题,需要开发一套 web 路由机制。该机制支持通过配置化的方式,让测试人员能够通过访问指定 URL 的形式,间接调用应用 A 内的目标方法,从而打通测试环节中应用 A 与应用 B 的交互通道,确保测试工作的顺利开展。 ### 使用方式 启动脚本 指定探针应用,会在当前路径下生成`method-config.json` ```sh #指定默认端口 且开启调试模式 java -javaagent:D:\\path\\web-attach-agent.jar=port=8081,debug=true -jar biz-app.jar #使用随机端口 java -javaagent:D:\\path\\web-attach-agent.jar -jar biz-app.jar ``` 请求地址:http://localhost:8081/func/index?methodId=test1 请求方法、参数取决于路由配置。需要保持一致 ### 路由配置 文件名: method-config.json ```json [ { "id": "test1", "clazz": "com.snif.task.job.TrustPushJob", "method": "POST", "methodName": "trustPushJob", "contentType":"application/json", "params":[ { "paramName":"params", "paramType":"String" } ] } ] ``` 属性描述: + id 方法唯一标识,全局唯一 + clazz 类全限定名 + method 请求方式 GET|POST + methodName 方法名称 + contentType 请求内容类型 支持有如下 + application/json json请求 方法仅支持一个字符串入参 + application/x-www-form-urlencoded 表单请求 + multipart/form-data 表单请求 + params 参数数组 json类型 仅支持接收一个字符串参数目前 + paramName 参数名 + paramType 参数类型 目前仅支持String、Int