赞
踩
Biz-SIP金融级业务中台(http://bizsip.bizmda.com))是一套基于领域驱动设计(DDD),用于快速构建金融级云原生架构的服务整合中间件,包含了在金融场景里锤炼出来的最佳实践。
Biz-SIP业务中台在交易处理时,会先后涉及Source层、App层和Sink层的处理,:
案例要求:
开发一个最简单的App服务,收到请求后,不做任何处理,直接把请求返回;请求的发起,是通过Biz-SIP的开放API接口来发送:
App服务的实现,在Biz-SIP业务中台中有二种实现方案:
具体代码和配置可以查看Biz-SIP源代码中的Sample相关测试案例(https://gitee.com/szhengye/biz-sip)
首先,我们先采用编写App服务编排脚本的方式,在Biz-SIP统一配置目录下创建“/service/script/sample1.script”:
var data = bizmessage.data;
return data;
可以看到在脚本中不对输入报文做任何修改,直接返回。
最后,重启App应用刷新配置,通过开放平台接口发起请求,可以接收到响应,返回了原有报文内容:
$ curl -H "Content-Type:application/json" -H "Biz-Service-Id:/script/sample1" -X POST --data '{"accountNo":"62001818","sex":"0","email":"123232@163.com","mobile":"18601872345"}' http://localhost:8888/api|jq { "code": 0, "message": "success", "extMessage": null, "appServiceId": "/script/sample1", "traceId": "5f007c2ed96749249346f8c7369a2f13", "parentTraceId": null, "timestamp": 1646564075335, "data": { "sex": "0", "mobile": "18601872345", "accountNo": "62001818", "email": "123232@163.com" } }
首先,我们需要编写一个App服务类(Sample1AppService.java):
@Slf4j
@Service
public class Sample1AppService implements AppBeanInterface {
@Override
public JSONObject process(JSONObject message) throws BizException {
log.debug("收到请求数据:\n{}", BizUtils.buildJsonLog(message));
return message;
}
}
Sample1AppService类继承了AppBeanInterface接口,实现了process()方法,这个方法的输入输出参数,都是平台统一的JSONObject对象。
可以看到在process()方法中,对输入报文没有做任何修改,是直接把原报文返回的。
然后,在Biz-SIP统一配置目录中的app.yml中,配置对应的App服务:
- app-service-id: /bean/sample1
type: app-bean-service
class-name: com.bizmda.bizsip.sample.app.service.Sample1AppService
最后,启动SampleAppApplication应用,通过开放平台接口发起请求,就可以接收到响应,返回了原有报文内容:
$ curl -H "Content-Type:application/json" -H "Biz-Service-Id:/bean/sample1" -X POST --data '{"accountNo":"62001818","sex":"0","email":"123232@163.com","mobile":"18601872345"}' http://localhost:8888/api|jq { "code": 0, "message": "success", "extMessage": null, "appServiceId": "/bean/sample1", "traceId": "1a6dea2296604b088564909569685ab3", "parentTraceId": null, "timestamp": 1646564101826, "data": { "sex": "0", "mobile": "18601872345", "accountNo": "62001818", "email": "123232@163.com" } }
Biz-SIP官方网站:http://bizsip.bizmda.com
Gitee:[https://gitee.com/szhengye/biz-sip](
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。