请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

RestTemplate请求对方返回非200状态码的处理方式

老师,使用RestTemplate请求接口,返回非200的请求,有什么比较好的实现吗?

正在回答 回答被采纳积分+3

1回答

大目 2019-08-29 14:02:48

您好,如果你需要用到http状态码,可以用getForEntity,课上有讲到。

0 回复 有任何疑惑可以回复我~
  • 提问者 度她余生 #1
    状态码为200时,getForEntity.getStatusCode可以获取到;
    但不为200时就抛异常了,getStatusCode是取不到的。
    网上有说继承DefaultResponseErrorHandler自己处理的,想知道有没有更好的解决方式。
    回复 有任何疑惑可以回复我~ 2019-08-30 10:10:28
  • 大目 回复 提问者 度她余生 #2
    不是200是会抛异常的哈。原因是DefaultResponseErrorHandler抛了异常。解决方案和您说的一样,继承DefaultResponseErrorHandler,自己处理,不抛异常就OK了。其他没有更好的办法。
    
    public class CustomErrorHandler implements ResponseErrorHandler {
    
        @Override
        public boolean hasError(ClientHttpResponse response) throws IOException {
            return true;
        }
    
        @Override
        public void handleError(ClientHttpResponse response) throws IOException {
    
        }
    }
    回复 有任何疑惑可以回复我~ 2019-08-30 11:33:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信