我正在使用spring RestTemplate
来消耗rest服务(在spring rest中公开)。我能够承受成功的情况。但是对于负面情况,服务将返回错误消息和错误代码。我需要在网页上显示这些错误消息。
例如对于无效的请求,服务将抛出带有正确消息的HttpStatus.BAD_REQUEST
。如果我将try-catch块放到catch块中,则无法获得ResponseEntity
对象。
try {
ResponseEntity<ResponseWrapper<MyEntity>> responseEntity = restTemplate.exchange(requestUrl, HttpMethod.POST, entity,
new ParameterizedTypeReference<ResponseWrapper<MyEntity>>() {
});
responseEntity.getStatusCode();
} catch (Exception e) {
//TODO How to get response here, so that i can get error messages?
e.printStackTrace();
}
如何获取异常(exception)情况的
ResponseWrapper
?我从here中阅读了有关
CustomRestTemplate
和ResponseExtractor
的信息,但无法确定哪一个最适合我的情况。 最佳答案
我找到了解决方案。 HttpClientErrorException
为我工作。
它具有e.getResponseBodyAsString()
函数,该函数返回ResponseBody。