Spring Boot RestTemplate setErrorHandler和Timeout异常

时间:2018-02-20 05:58:45

标签: spring rest spring-boot

我在使用restTemplate时有一个用例,当响应中包含错误的http代码(例如400,500,404等)时,我不希望restTemplate抛出异常,所以我使用setErrorHandler如下:

restTemplate.setErrorHandler(new DefaultResponseErrorHandler() {
            protected boolean hasError(HttpStatus statusCode) {
                return false;
            }});

但是这也会占用任何连接/套接字/读取超时异常,如果是,有办法避免这种情况。

1 个答案:

答案 0 :(得分:0)

  

如果处理HTTP请求的异常,则例外   将抛出RestClientException类型;这种行为可以   通过插入另一个ResponseErrorHandler实现来改变   进入RestTemplate。

来源:https://docs.spring.io/spring/docs/5.0.4.RELEASE/spring-framework-reference/integration.html#rest-resttemplate