RestTemplate 200OK
RestTemplate
200OK
默认情况下,我们有 ResponseErrorHandler 对所有人都有反应 4xx 5xx 包含一个JSON字段 errors
ResponseErrorHandler
4xx
5xx
errors
我创建了一个自定义错误处理程序,并使用以下方法将其绑定到我的rest模板中:
restTemplate.errorHandler(new MyCustomErrorHandler());
我也推翻了 hasError()
hasError()
这是处理错误的好方法吗?我应该解析两次响应吗?我为此类问题寻求干净的解决方案,但我希望避免每次使用外部服务时对消息进行两次解析
只有在返回错误状态时才会调用错误处理程序,200不是错误状态,因此不会处理它。
您可以通过重写hasError方法ResponseErrorHandler来检查错误消息或任何错误指示来更改此行为。
public class MyCustomErrorHandler implements ResponseErrorHandler { @Override public boolean hasError(ClientHttpResponse httpResponse) throws IOException { //TODO check your criteria for error }