OpenAPI自定义报文二开手册
适用版本:850、860、861、862
(后续回迁之后会更新各版本对应的补丁号,此贴持续更新)
850版本需要更新补丁:
860版本需要更新补丁:先更新sp1PTM(PTM150382)升级861,再更新sp2PTM升级862(PTM158682)
861版本需要更新补丁:PTM158682
OpenAPI支持AOP自定义注册扩展处理器,可依照需求进行前置处理、后置处理以及自定义报文格式处理。
请注意事务问题,既有require事务情况下,handler发生异常原有事务不会回滚。
若自定义报文,请使用postman调用。
前台配置
对应OpenAPI方案中某个具体需要实现报文自定义的方法中填写扩展处理器的全路径名,注意和代码中自定义实现类的全路径保持一致。
后台实现
自定义实现类继承AbstractOpenAPIExtHandler类,重写报文转换方法。
数据转换可以参考使用 com.kingdee.bos.openapi.util.json.JSONUtils.convertObjectToJson(Context, Object)以及 com.kingdee.bos.openapi.util.json.JSONUtils.convertJsonToObject(String, Class<T>)
调用结果
原始请求报文:
{ "api": "", "data": "[""]" }
原始返回报文:
{ "errCode": 0, "errMsg": null, "errStackTrace": null, "data": "{\"taskId\":null,\"result\":null}", "description": null, "description_cn": null }
3.1 单入参
入参为1,且请求报文是单据对象直接转换成json的情况
a) 前台配置handler之后,若在自定义实现类中未重写convertResult方法,默认返回原报文
b) 前台配置handler,且重写convertResult方法(代码详见2. 后台实现)
3.2 多入参
支持API信息放在url中 或 放在请求体中(原报文格式)
a) 前台配置handler之后,若在自定义实现类中未重写convertResult方法,默认返回原报文
b) 前台配置handler,且重写convertResult方法(代码详见2. 后台实现)
4. 异常处理
若自定义报文则相应的报文转换过程的异常根据调用方的需求自行处理,重写方法。
自定义实现类中若未重写方法,返回原异常模式。 调用日志详情页会在“异常信息”填充框内记录详细错误堆栈。
重写convertException方法,可根据自定义需求展示需要内容。错误信息将会直接在“返回信息”框内填充。
OpenAPI自定义报文二开手册
本文2024-09-22 19:53:46发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-110135.html