记录接口日志到数据库,业务处理进行回滚但依然保存日志?-灵析社区

PunkMaccccc

目前系统对于接收外部接口请求,需要记录日志,返回处理结果时更新返回结果到日志表,同样向外部接口接口请求时,记录接口请求消息到日志,收到接口返回或调用失败时更新处理结果到日志表,要求业务处理失败时回滚数据,但仍然记录日志处理结果,请问如何优雅的处理?

阅读量:206

点赞量:0

问AI
* 接收外部接口请求时,返回处理结果时更新返回结果到日志表,可以配置ResponseBodyAdvice,重写beforeBodyWrite方法,拿到返回结果存到日志。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240920/659716f55844cb03fcebc09fe33bcaf6.png) * 向外部接口接口请求时,看你是用的是什么客户端工具,比如你使用okhttp那么就配置一个okhttp的拦截器,在拦截器里面记录日志。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240920/030bb3cd49740a50e935172d462cb9dc.png) 如果使用的是spring更高层的restTemplate客户端可以配置下面这个拦截器 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240920/6c8e7db3166f5d86aeb1e1f7ef8b9a7b.png)