首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring RestTemplate - ErrorHandling

Spring RestTemplate - ErrorHandling
EN

Stack Overflow用户
提问于 2018-05-18 03:02:39
回答 1查看 1.1K关注 0票数 1

我通过下面的代码通过RestTemplate调用Restservice:

请求响应= ResponseEntity RestTemplate().postForEntity(url,request,String.class);

当客户端出现错误时,它会抛出下面的错误:

代码语言:javascript
复制
org.springframework.web.client.HttpClientErrorException: 400 Bad Request
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:85)
    at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:708)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:661)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:621)
    at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:415)

但是,当我通过SOAPUI或Postman直接访问相同的输入请求时,我得到如下错误:

代码语言:javascript
复制
    <Errors>
   <Error ErrorCode="YFS10003" ErrorDescription="YFS:Invalid Order" ErrorUniqueExceptionId="10.148.201.9815264936514610000000000060" HttpCode="400">
      <Attribute Name="ErrorDescription" Value="YFS:Invalid Order"/>
      <Attribute Name="ErrorUniqueExceptionId" Value="10.148.201.9815264936514610000000000060"/>
      <Attribute Name="ErrorCode" Value="YFS10003"/>
      <Attribute Name="HttpCode" Value="400"/>
   </Error>
</Errors>

我需要的是,我如何存储或捕获以上异常/错误什么是通过客户端的代码和打印来有更详细的知识,为什么错误来了,而不是得到一个通用的错误作为400错误的请求。

有没有办法通过ResponseErrorHandler类?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-05-18 04:25:32

如果您仔细研究一下RestTemplate API,就会发现RestTemplate#setErrorHandler方法,您可以在其中定义自定义ErrorHandler并执行所需的代码,在本例中,打印出消息本身。

默认情况下,RestTemplate使用DefaultResponseErrorHandler,它只是在发生任何错误的情况下抛出异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50398783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档