当前位置:   article > 正文

springboot使用RestTemplate返回401时 HttpClientErrorException报错问题及解决方法

httpclienterrorexception

今天需要调用第三方平台rest接口,调用正常时没啥事,调用异常时比如401 时,发现后台解析response就报错HttpClientErrorException,body为null取不到。

 

各种百度及官方文档,发现是resttemplat处理机制的问题,

1、对于非2xx的,4xx  和 5xx  都进行了当做错误来处理。可以去看官方文档。这就要求添加try  catche进行特殊处理。

2、使用resttemplate 前设置下requestfactory ,这样才能接收到body的值  。

restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());

网上,解决方法很多,一类是catch后特殊处理,一类是采用重写错误捕获的方法,忽略掉4xx之类的处理方式,使之原样返回。

我使用的catch 特殊处理的方式,解决的此问题。

 

修改后的代码如上图就是添加了1、2。两个地方是的问题第一解决。

 

好了,问题解决,皆大欢喜!继续撸码!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/684624
推荐阅读
相关标签
  

闽ICP备14008679号