当前位置 : 主页 > 网络推广 > seo >

resttemplate – 如何在抛出RestClientException时检索HTTP状态代码和响应正文?

来源:互联网 收集:自由互联 发布时间:2021-06-16
RestTemplate的方法如postForEntity()抛出RestClientException.我想从catch块中的异常对象中提取HTTP状态代码和响应主体.我怎样才能做到这一点? 捕获特殊的HttpClientErrorException,而不是捕获RestClient
RestTemplate的方法如postForEntity()抛出RestClientException.我想从catch块中的异常对象中提取HTTP状态代码和响应主体.我怎样才能做到这一点? 捕获特殊的HttpClientErrorException,而不是捕获RestClientException.

这是一个例子:

try {
    Link dataCenterLink = serviceInstance.getLink("dataCenter");
    String dataCenterUrl = dataCenterLink.getHref();
    DataCenterResource dataCenter =
        restTemplate.getForObject(dataCenterUrl, DataCenterResource.class);
    serviceInstance.setDataCenter(dataCenter);
} catch (HttpClientErrorException e) {
    HttpStatus status = e.getStatusCode();
    if (status != HttpStatus.NOT_FOUND) { throw e; }
}

HttpClientErrorException分别提供getStatusCodegetResponseBodyAsByteArray获取状态代码和正文.

网友评论