大家好,欢迎来到IT知识分享网。
说明: 本示例中的代码和截图可能和您现在手中的版本不同,但操作思路一样。
以下例子要自己写代码,是写死的那种代码类型,请根据自己实际业务编写代码只是作为参考,不能直接调用
背景介绍
表单或者列表部分数据是通过第三方接口(RESTfull风格、Web Service)获取数据,通过配置和编写代码平台的输入、输出参数的中间转换适配。达到第三方接口的数据兼容。转换成平台识别的数据,给下拉、单选、多选、自定义对话框、关联数据等提供数据来源
操作步骤
以下例子要自己写代码,并且是写死的代码,请根据自己实际业务编写代码只是作为参考,不能直接调用哦。
以下例子都以该接口http://192.168.3.230:15100/ibps/platform/v3/service/demo/query
为例了【post类型接口】,帮助更多的技术人员更快上手。
1.服务配置管理
在服务管理配置,例如下图:
2. 数据集
在数据配置,选择服务配置管理,例如下图:
3. 数据模版
在数据模版配置过程
1)接口数据参数处理
示例中【输入参数数据处理】:csscript.defaultResfulInput(params) params参数必须是这个参数
`params`是个Map对象,包含以下内容: `query` 查询数据 `page` 分页数据
【输出参数数据处理】csscript.defaultResfulOutput(data) data参数必须是这个参数
`data`是个JSON的String,需要根据实际数据进行解析
2)查询字段配置
根据实际情况配置,例如:ibps平台,是数据库表的字段,name_,最后输出格式Q^name_^SL所以标识(name) 填写name_,也是上节输入参数(接收字段)一致
3)显示字段配置
根据实际情况配置,一般都是输出的结果集包含,例如:name(区分大小写,必须跟结果集一致)
4)过滤条件
该功能暂不支持
5)返回字段
根据实际情况配置,参考【显示字段配置】
6)排序字段
根据实际情况配置,参考【查询字段配置】
7)最终预览效果
4、表单控件效果
具体参考[数据模版-表单控件]
1) 单选和多选、下拉配置步骤和效果
1—)数据模版配置-值来源
2-)表单配置选择值来源
配置字段
最终效果
2)关联数据控件配置步骤和使用效果
类似【单选和多选、下拉】配置
3)自定义对话框配置步骤和使用效果
类似【单选和多选、下拉】配置,只是类型配置成对话框
4) 文本框获取值配置步骤和效果( 暂不支持)
脚本编写
以下例子也是一样要自己写代码,是写死的代码,请根据自己实际业务编写代码只是作为参考,不能直接调用
1、输入参数数据处理脚本编写
参考示例:
/** * 输入参数数据处理脚本 * @param params * @return */ @SuppressWarnings("unchecked") public Map<String,Object> defaultResfulInput(Map<String,Object> params) { ///获取查询数据【固定参数】 Map<String, Object> querys = (Map<String, Object>) params.get("query"); Map<String, Object> page = (Map<String, Object>) params.get("page"); Map<String,Object> map = new HashMap<String, Object>(); Map<String,String> header = new HashMap<String, String>(); // 设置请求头,**目前写死token**,实际根据获取外部的token header.put("X-Authorization-access_token", "9b4f99b0012e11eac3dee51b7e"); map.put("header",header); //构建查询 JSONArray parameters = new JSONArray(); for(Map.Entry<String, Object> entry : querys.entrySet()){ JSONObject param = new JSONObject(); param.accumulate("key", "Q^"+entry.getKey()+"^SL").accumulate("value",entry.getValue()); parameters.add(param); } JSONObject body = new JSONObject(); body.accumulate("parameters",parameters);
根据接口输入参数,需要返回实际的参数
输入(接受)参数params是个Map对象,包含以下【固定参数】:query 查询数据page 分页数据
返回值是个Map(Map类型) Map的key包含以下【固定参数】(这个需要分析你们接口请求类型,是post、get的方法,输入参数(body,query))bodyType form、json等[如果是post类型建议传入]body json字符串query 查询的键值对header 请求头
2、 输出参数数据处理脚本编写
参考示例:
public List<?>defaultResfulOutput(String data ) { List<Map<String, Object>> result = new ArrayList<Map<String,Object>>(); JSONObject json = JSONObject.fromObject(data); JSONObject dataJson =JsonUtil.getJSONobject(json, "data"); JSONArray dataResult = JsonUtil.getJSONArray(dataJson, "dataResult"); JSONObject pageResult = JsonUtil.getJSONobject(dataJson, "pageResult"); //数据处理 if(JsonUtil.isNotEmpty(dataResult)) { for (Object obj : dataResult) { Map<String, Object> map = new HashMap<String, Object>(); JSONObject dataResultJson = (JSONObject) obj; for (Iterator<?> iter = dataResultJson.keys(); iter.hasNext();) { String key = (String) iter.next(); map.put(key, JsonUtil.getString(dataResultJson, key)); } result.add(map); } } //分页处理 if(JsonUtil.isNotEmpty(pageResult)) { Integer pageNo = JsonUtil.getInt(pageResult, "pageNo"); int limit = JsonUtil.getInt(pageResult, "limit"); int totalCount = JsonUtil.getInt(pageResult, "totalCount"); PageResult page = new PageResult(pageNo,limit,totalCount); result =new PageList<Map<String, Object>>(result,page); } return result; }
根据提供接口的返回结果,返回list(如果包含分页数据则返回PageList)
-输入参数:data是个JSON的String,需要根据实际数据进行解析
-返回值是个List类型 ,返回列表数据,如果包含分页数据则返回PageList
流辰信息非常欢迎更多小伙伴们畅所欲言,有想了解更多平台技术类型、技术特性的小伙伴们可以私信我们或者是发邮件到我们的头条官网邮箱上。帮助我们做得更好。
流辰信息头条官方邮箱:lcxxtoutiao@bpmhome.cn
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87575.html