# http请求脚手架 **Repository Path**: helixin/auto-http ## Basic Information - **Project Name**: http请求脚手架 - **Description**: 项目需求中,经常会有对接第三方接口需求,如果一个两个,手写接口,如果是动不动就很多还要对接就麻烦很多;三方的请求参数,返回响应,回调请求以及回调响应等等都要处理;于是就有这个项目,通过yml配置与三方的对接关系,请求参数,返回响应参数,回调请求参数以及回调响应的映射;通过yml配置模式完成对三方接口的请求,数据md5签名,aes,rsa等加密,如果不够用就自己可以再灵活定义覆盖系统默认加密算法等 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-09-22 - **Last Updated**: 2023-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # http请求脚手架 #### 介绍 项目需求中,经常会有对接第三方接口需求,如果一个两个,手写接口,如果是动不动就很多还要对接就麻烦很多;三方的请求参数,返回响应,回调请求以及回调响应等等都要处理;于是就有这个项目,通过yml配置与三方的对接关系,请求参数,返回响应参数,回调请求参数以及回调响应的映射;通过yml配置模式完成对三方接口的请求,数据md5签名,aes,rsa等加密,如果不够用就自己可以再灵活定义覆盖系统默认加密算法等 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 以下为参考yaml 配置,每个参数的定义说明以及使用方法,选项设置等说明 ```yaml #http请求清单 http: #配置请求 - id: paydemo #一个请求中的唯一id,不可重复 host: https://httpbin.org/post #邀请的具体 api 接口对接文档获得 method: post #请求要求的具体http方法,如:post,get #全局配置,如开发者账号,签名秘钥,加密算法等 context: appid: abc #开发者id,key 等用于识别开发者信息 appKey: 123 #加密,签名等使用的私钥 digest: md5 #加密算法类型 如:md5,aes upperLower: upper #当 digest = md5时 此处设置大小写有效,不设置则不处理,选项:lower,upper sort: ascii #排序规则,如:ascii,默认不配置按照 ascii emptySign: false #为空是否参与签名,默认 false 可选项:true/false timestamp: Millisecond #时间戳类型 默认毫秒级,可选项: Millisecond,Second signKey: key #当 digest = md5时 appKey赋值的变量,参与签名,如果 key不设置说明无需变量 如:[待签名字符串]&key=appKey 或 [待签名字符串]appKey dataType: json #请求要求的数据类型 参数格式:json,form,query #请求头设置 header: contentType: application/json #请求头数据类型,按照http协议定义即可 #请求参数映射 requestMap: - parameter: id #对接接口的参数,根据接口文档映射 property: id #标准属性,定义通用的属性,用于所有api匹配和运算,必须继承 ApiParameterBase 类再进行扩展 dataType: Double #数据类型,映射 java的基础数据类型 选项:Integer,Double,Float defaultValue: 10.00 #默认值,如果需要请求时默认赋值则设置,默认不设置 auto: true #是否自动生成数据,比如时间戳,nonce 等可以设置 true将自动生成;默认false ,选项:true,false sign: true #是否参与签名,默认true,不需要时,设置false 选项:true,false - parameter: money property: amount dataType: Double defaultValue: 10.00 auto: false sign: true - parameter: sign property: sign auto: false sign: true #响应结果映射 responseMap: - parameter: code #三方返回参数 property: code #标准属性,定义通用的属性,用于所有api匹配和运算,必须继承 ApiParameterBase 类再进行扩展 defaultValue: 0 #默认值,如果需要请求时默认赋值则设置,默认不设置 - parameter: message property: msg - parameter: orderId property: orderNo #前置 before: httpId: #httpId引用其他的http 请求作为前置条件,前置返回的数据标准结果,将会传递给当前请求使用 #后置 after: httpId: #后置 http条件,请求完成后后置条件,将会接收当前http请求参数,响应结果用于后置处理 ```