跳到主要内容

宜搭调用外部接口后将数据回传到宜搭中

1. 背景

在真实的业务场景下,系统与系统之间的数据交互通常不会只有简单的单向传输。在宜搭与外部系统的数据交互过程中,往往会存在较多的依赖,业务数据会有复杂的计算逻辑。下面将为大家介绍如何在宜搭内调用外部服务,外部服务对数据做额外的逻辑处理后,再将数据更新至宜搭的指定数据实例中。

1.1 数据交互流程图

下图为真实业务场景下的数据交互流程图,需求:

  1. 在宜搭内提交表单后,触发请求调用外部服务。
  2. 外部服务接收到宜搭侧传入的参数在服务端做逻辑处理。
  3. 将处理后的数据回传到宜搭(更新指定数据实例)。

2. 操作步骤

2.1 在服务端定义外部接口,外部服务方法参考如下:

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";
}
}

通过代码可知服务端拿到了宜搭侧传入的参数,再取相关参数作为宜搭数据更新接口的入参,调用宜搭实例更新接口。(为了便于大家解读,本质上该方法只是做了简单的接口转发,大家可以根据自己实际的业务需要,自定义服务方法内的数据处理逻辑)

2.2 部署并上线该服务

从代码中得知该接口地址为:${域名/服务器地址}/yida/updateFormDatas

2.3 在宜搭内配置第三方服务回调,将外部服务的接口地址以及接口入参配置上。

参考上述代码示例,方法定义模块,该接口需要以下几个参数。

public String updateFormDatas(@RequestParam String appType,
@RequestParam String systemToken,
@RequestParam String userId,
@RequestParam String formInstId,
@RequestParam String updateFormDataJson) {
return true;
}


所以我们在宜搭内注册服务时,也需要将对应参数配置上,参考文档:服务注册

2.4 在表单内配置表单提交时,触发该服务回调

表单编辑页面

2.5 提交表单进行验证,查看「接受更新」表单内指定的数据实例

根据数据管理页内的数据结果可以得知,服务链路已通。宜搭侧将数据传到外部服务端,服务端拿到数据后做逻辑处理,再调用宜搭数据更新实例接口更新「接受更新」表单内指定实例的数据。

3. 视频讲解


--------------------欢迎关注我们--------------------

Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4