WebAPI配置说明
业务背景
服务填值控件能力的不断提升,对Restful Adapter (webapi 适配)的业务方法提出了新的要求,首先restful webapi接口参数通过映射到表单字段取值 ;其次restful webapi接口请求的结果可以作为数据源,对服务填值控件自身以及包括子表等被映射的其他控件填值 ;再者必须满足webapi接口入参和出参的多样性要求 。
业务需求
原理

URL
支持按照Restful请求查询字符串Query,路由参数ParameterPath。
Header
HTTP协议消息头,HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。
例如:
Authorization: 用于表示HTTP协议中需要认证资源的认证信息。 UserId: 用户自定义Header, 用于记录当前请求人员用户ID。
Body
HTTP请求和回复报文中的内容(报文体),出现在HTTP POST 请求(request),和其他HTTP方法的回复(response)报文中。Webapi请求接口将复杂类型的输入参数放在HTTP请求报文的Body中。
输入输出参数
设置输入参数
GET接口
HTTP GET 请求的输入参数,参数位置类型有(ParameterPath、Head、Query);
其中None类型针对于历史数据,URL的原型

POST接口
HTTP POST 请求的输入参数,参数类型有(ParameterPath、Head、Query、Body);
例如:
http://localhost:5000/api/Test/TestApi/`{code}`/`{code2}`?query=`{query}`&query2=`{query2}`
其中,Body参数位置的输入参数有param1、param2;UserId 为用户自定义HTTP 请求报文头部。
Body参数位置对于输入参数的设置,取决Webapi POST接口FromBody 类型的入参,本接口对应的入参可以参照Swagger,
http://localhost:5000/swagger。

该POST接口body类型入参名为param, 是一个包含param1,param2的对象,于是我们定义param1和param2参数位置为Body。

设置输出参数
该接口返回数据:
{
"ApplicantId ": 571347227, ----------------------> 主表字段ApplicantId 路径当前为空
"CadidateId ": "C00033989", ----------------------> 主表字段CadidateId 路径当前为空
"ApplyJobSummaries": [.. ],
"InterviewSummaries": [.. ],
"EducationExperience ": {
"Description": null,
"Items ": [ --------------> 子表字段Items, 路径EducationExperience
{
" StartTime ": "2013-09-01", --------------> 子表成员 StartTime , 路径为子表当前, 默认空
" EndTime ": "2015-07-01", --------------> 子表成员 EndTime , 路径为子表当前, 默认空
" SchoolName ": "武汉大学", -------------> 子表成员 SchoolName , 路径为子表当前, 默认空
" MajorName ": null, -------------> 子表成员 MajorName , 路径为子表当前, 默认空
"EducationLevel": {
"Value": 2,
" ExtendValue ": "硕士研究生" ----> 子表成员 ExtendValue , 路径为子表EducationLevel
},
"Description": "\r\n资源与环境科学学院测绘地理信息系统硕士研究生",
} ..]
}
}
实现步骤
以HTTP GET 接口
http://api.beisenapp.com/RecruitV2/105772/Applicant/ById/{Id}?language={language}&photo_base64={photo_base64}&has_Long={has_Long}
为例:
1. 添加业务服务
进入后台管理,点击业务集成,添加业务服务,适配器对应"RESTful Adapter",HttpMethod对应"HttpGet",填写URL为"
http://api.beisenapp.com/RecruitV2/105772/Applicant/ById/{Id}?language={language}&photo_base64={photo_base64}&has_Long={has_Long}
",其中ParameterPath、Query类型的参数可以通过{Id},{language}占位,认证Token根据接口需求填写,输入输出参数按上一章节填写。
2. 添加业务方法
按照需求创建应用功能,将输入参数和输出参数要映射和绑定到表单字段设计好。如图所示:

打开高级设计->业务方法,添加业务方法,填写方法名称、显示名称。

输入参数的映射
编辑业务方法与服务映射列表,设置输入参数映射对象,实现了服务输入参数和表单字段的关联关系,被输入参数映射的表单字段将作为服务的入参值,映射方式有以下两种:
Property (表单字段)
Const(常量)
输入参数的绑定如下图所示:

输出参数的映射
借助于服务赋值控件,实现对服务成功调用的结果赋值到与输出参数绑定了的表单字段(包含子表)。

3. 绑定服务填值控件
打开表单设计选择表单赋值控件,选择表单赋值控件的服务接口,设置表单赋值控件显示列,设置触发服务接口调用时输入值字符的长度,保存表单。
