主数据数据订阅API接口开发示例

主数据订阅配置

  1. [主数据管理/主数据维护]页面中,点击表名链接,进入主数据维护页面,选择<订阅配置>页签后,单击<新增>按钮,如下图所示。

图-1  

 

  1. 配置参数,各参数的说明如下:

  1. 以上信息配置完成后,可以通过单击<测试接口>按钮,测试接口连通性。

  1. 单击<确定>按钮后,配置完成。

之后当对主数据表进行增删改时,设置的http接口就会接收到数据的变更信息,调用接口的成功与失败,也可以在[主数据管理/订阅日志]页面中查看,如下图所示。

图-2 查看主数据变更

 

接口开发

订阅接口是一个标准的Rest接口,其中参数和返回值是固定的,本节将介绍各参数的示例。

请求类型

必须是Post请求。

参数

1.      Body传参

 

参数格式如下所示:

{

    "data": "[{\"id\":4,\"name\":\"eeee\",\"age\":\"22\",\"salary\":20000}]",

    "message": "数据源:master_mysql 模式:test3 :master_data_source 新增1条数据 ",

    "operation": "INSERT",

    "record": 1,

    "tableId": 1612326702435098600

}

其中参数说明如下:

 

参数类如下所示:

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
@Data
public class MasterdataNoticeBody {
    @JsonSerialize(using = ToStringSerializer.class)
    private Long tableId;
    private String operation;
    private Long record;
    private String remark;
    private String message;
    private String data;
}

 

 

2.      返回值

DataassetResponse

返回值java类:

import lombok.Data;
@Data
public class DataassetResponse {
    private String code;
    private String msg;
    private Object data;
    private String level;
   
    public DataassetResponse(String level) {
        if(null == level || "".equals(level)){
            this.code = "";
            this.msg = "SUCCESS";
            this.level = "success";
            this.data = null;
        }else {
            this.code = "";
            this.msg = level.toUpperCase();
            this.level = level;
            this.data = null;
        }
    }
}

 

 

示例

以下是使用spring开发的接口示例:

@PostMapping("/testForLog")
public DataassetResponse testForLog(@RequestBody MasterdataNoticeBody masterdataNoticeBody) {
    //
打印参数信息
    String jsonString = JSON.toJSONString(masterdataNoticeBody);
    log.info("masterdataNoticeBody is: {}", jsonString);
    /*
   
接收到数据后的具体业务逻辑
     */
    return new DataassetResponse("success");
}