【发布时间】:2018-09-17 08:00:33
【问题描述】:
我正在使用带有RestTemplate 的SpringBoot 与另一个应用程序进行通信。但是,我无法更改其 API,并且此外部服务始终返回 200OK 返回代码。
默认情况下,我们有ResponseErrorHandler 对所有4xx 和5xx 响应代码作出反应,但在我的情况下,当出现异常时,我会得到200OK 和一个JSON 字段errors。
我创建了一个自定义错误处理程序,并使用以下方法将其捆绑到我的 rest 模板中:
restTemplate.errorHandler(new MyCustomErrorHandler());
我还覆盖了hasError() 方法,但在内部我必须解析这个对象以检查它是否包含有错误的字段...
这是处理错误的好方法吗?我应该两次解析响应吗?我为此类问题寻求干净的解决方案,但我想避免每次使用外部服务时都解析两次消息
【问题讨论】:
标签: java spring http resttemplate