我正在使用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中阅读了有关CustomRestTemplateResponseExtractor的信息,但无法确定哪一个最适合我的情况。

最佳答案

我找到了解决方案。 HttpClientErrorException为我工作。

它具有e.getResponseBodyAsString()函数,该函数返回ResponseBody。

10-08 18:01