小程序网络请求转发服务
该接口用于小程序中进行业务数据前后端交互 。
由于小程序是在宿主App中的一个模块, 小程序中网络请求需要经过宿主App和宿主App后端服务进行请求转发,以实现App对小程序管控能力。 使用该接口的必须要先在小程序管理平台配置可访问的接口或者域名, 配置后才可访问成功,不在白名单中的域名或者api是无法通过小程序进行业务数据请求。
接口说明
接口名称:httpProxy
Dubbo调用:msHttpProxyService
接口描述:小程序网络请求转发服务。
入参
header通用参数
业务参数
字段名称 | 字段类型 | 字段描述 | 是否必须 |
---|---|---|---|
api | String | 转发请求api, 该api必须通过进行转发请求白名单配置 | 是 |
data | Object | 请求参数 | 否 |
method | String | 请求转发方式,POST, GET | 是 |
dataType | String | text,只支持text方式 | 否 |
encrypted | String | 加密方式, 暂无业务需要 | 否 |
responseType | String | 返回格式, json/text, 根据请求网站返回数据,请求网站header中Content-Type如果是application/json, 返回数据是json,其他都是string | 否 |
miniAppCode | String | 小程序码 | 是 |
出参
字段名称 | 字段类型 | 字段描述 | 是否必须 |
---|---|---|---|
response | Object | 返回数据 | 是 |
code | String | AAAAAA, 成功,其他 错误 | 是 |
msg | String | 是 |
response
字段名称 | 字段类型 | 字段描述 | 是否必须 |
---|---|---|---|
statusCode | int | 标准http状态码, 200请求成功 | 是 |
returnCode | Object | 后台请求状态对象 | 否 |
data | Object | 请求数据 | 是 |
header | Object | 请求header | 是 |
样例
dubbo协议接入:
请求url
//localhost:9102/gw/hk_e_app/msHttpProxyService.do
请求数据格式:
{
"request":{
"header": {
"appId": "3",
"appVersion": "1.0",
"ffVersion": "4.0",
"transId": "httpProxy",
"appExt": "1",
"custType": "100",
"signedMicroFlag": "0",
"net": {
"ip": "127.0.0.1",
"netType": "WIFI_oa-test",
"isp": "中国移动",
"ssid": "oa-test",
"lac": "4203",
"cid": "10732931"
},
"device": {
"osType": "03",
"osVersion": "8.0.0",
"brand": "samsung",
"model": "SM-G9500",
"uuid": "2e2bc2402301ea3e1e021362dd6b7a1e",
"imei": "357052091333047",
"mac": "00:9D:6B:32:00:24",
"nfc": "1",
"isRoot": "0",
"imsi": "8986003915187a258429"
},
"reqSeq": "0"
},
"body": {
"api":"//127.0.01:8080/gw/hk_e_web/ShowMainBoard.do",
"method":"POST",
"data":{
},
"header":{
},
"responseType":"text",
"encrypted":"false",
"miniAppCode": "qHwgaSkXKx6tO4jc"
}
}
}
http协议接入:
请求url: //localhost:8080/ffpaas/miniapp/httpProxy.json
请求数据格式:
{
"request":{
"header": {
"appId": "3",
"appVersion": "1.0",
"ffVersion": "4.0",
"transId": "httpProxy",
"appExt": "1",
"custType": "100",
"signedMicroFlag": "0",
"net": {
"ip": "127.0.0.1",
"netType": "WIFI_oa-test",
"isp": "中国移动",
"ssid": "oa-test",
"lac": "4203",
"cid": "10732931"
},
"device": {
"osType": "03",
"osVersion": "8.0.0",
"brand": "samsung",
"model": "SM-G9500",
"uuid": "2e2bc2402301ea3e1e021362dd6b7a1e",
"imei": "357052091333047",
"mac": "00:9D:6B:32:00:24",
"nfc": "1",
"isRoot": "0",
"imsi": "8986003915187a258429"
},
"reqSeq": "0"
},
"body": {
"api":"//127.0.01:8080/gw/hk_e_web/ShowMainBoard.do",
"method":"POST",
"data":{
},
"header":{
},
"responseType":"text",
"encrypted":"false",
"miniAppCode": "qHwgaSkXKx6tO4jc"
}
}
}
dsdl配置
节点配置
msHttpProxyService$applicationName,true
说明:
applicationName修改为应用
xml参数配置
- 创建节点,节点名称为
interface-mapping
- 添加配置参数信息,如下
<?xml version="1.0" encoding="UTF-8"?>
<interface name="msHttpProxyService" description="http代理服务" auth="false">
<configs>
<config key="accessLog" value="false"/>
<config key="transDataRecordMode" value="on"/>
<config key="productId" value="ECommon"/>
</configs>
<input>
<param name="api" description="请求地址" type="String" optional="false"/>
<param name="method" description="请求方式" type="String" optional="false"/>
<param name="data" description="数据" type="Map" optional="true"/>
<param name="header" description="header" type="Map" optional="true"/>
<param name="responseType" description="响应数据类型" type="String" optional="true"/>
<param name="encrypted" description="是否加密" type="String" optional="true"/>
<param name="miniAppCode" description="miniAppCode" type="String" optional="true"/>
</input>
<output>
<param name="returnCode" description="处理结果" type="Map" optional="false">
<param name="code" description="返回码" type="String" optional="false"/>
<param name="message" description="返回信息" type="String"/>
<param name="type" description="处理结果类型" type="String" optional="false"/>
</param>
<param name="data" type="Object"/>
<param name="statusCode" type="int"/>
<param name="header" type="Map"/>
</output>
</interface>