在阿里云宜搭中,您可以通过连接第三方 API 来获取数据,并将获取到的嵌套数值渲染到表单的相应位置。具体步骤如下:
打开宜搭设计器,选择需要渲染数据的表单组件,例如文本框或者表格。
在表单组件的数据绑定设置中,选择“远程 API”作为数据源,并填写第三方 API 的 URL 地址和参数信息。
在第三方 API 返回的数据中,找到需要渲染到表单的嵌套数值,并使用宜搭设计器提供的数据映射功能将其映射到表单的相应位置。例如,您可以使用“点选映射”或者“路径映射”来获取嵌套数值,并将其渲染到文本框或者表格的单元格中。
保存表单设置,并预览表单效果。如果一切正常,您应该能够从第三方 API 中获取到数据,并将其嵌套数值渲染到表单的相应位置。
你这个有点类似在宜搭内调用外部服务,外部服务对数据做额外的逻辑处理后,再将数据更新至宜搭的指定数据实例中。
你可以在服务端定义外部接口,外部服务方法参考如下:
package com.example.demo.controller;
import com.alibaba.fastjson.JSON; import com.example.demo.util.GatewayRequestUtil; import com.example.demo.model.GatewayResult; import org.springframework.web.bind.annotation.*;
import java.util.HashMap; import java.util.Map;
@RestController @RequestMapping("/yida") public class YIDAController {
/** * 请求接口地址 */ public static final String UPDATE_FORM_DATAS = "/yida_vpc/form/updateFormData.json";
@PostMapping("/updateFormDatas") public String updateFormDatas(@RequestParam String appType, @RequestParam String systemToken, @RequestParam String userId, @RequestParam String formInstId, @RequestParam String updateFormDataJson) {
GatewayResult result = null; try { Map<String, String> param = new HashMap<String, String>(); param.put("appType", appType); param.put("systemToken", systemToken); param.put("userId", userId); param.put("formInstId", formInstId); param.put("updateFormDataJson", updateFormDataJson);
result = GatewayRequestUtil.baseRequest(param, UPDATE_FORM_DATAS);
System.out.println(updateFormDataJson); System.out.println(result);
return JSON.toJSONString(result); } catch (Exception e) { e.printStackTrace(); } return "error"; } }
通过代码可知服务端拿到了宜搭侧传入的参数,再取相关参数作为宜搭数据更新接口的入参,调用宜搭实例更新接口。
部署并上线该服务 从代码中得知该接口地址为:${域名/服务器地址}/yida/updateFormDatas
在宜搭内配置第三方服务回调,将外部服务的接口地址以及接口入参配置上。
参考上述代码示例,方法定义模块,该接口需要以下几个参数。
public String updateFormDatas(@RequestParam String appType, @RequestParam String systemToken, @RequestParam String userId, @RequestParam String formInstId, @RequestParam String updateFormDataJson) { return true; }
在宜搭内注册服务时,也需要将对应参数配置上,参考文档:服务注册
在表单内配置表单提交时,触发该服务回调
提交表单进行验证,查看「接受更新」表单内指定的数据实例
根据数据管理页内的数据结果可以得知,服务链路已通。宜搭侧将数据传到外部服务端,服务端拿到数据后做逻辑处理,再调用宜搭数据更新实例接口更新「接受更新」表单内指定实例的数据。
以上仅供参考,实际应用根据自己的情况调整。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。