9
RestTemplate
의 방법은 postForEntity()
과 같이 RestClientException
과 같습니다. catch 블록에서 해당 예외 개체에서 HTTP 상태 코드와 응답 본문을 추출하고 싶습니다. 어떻게해야합니까?RestClientException이 Throw되었을 때 HTTP 상태 코드와 응답 본문을 검색하려면 어떻게해야합니까?
RestTemplate
의 방법은 postForEntity()
과 같이 RestClientException
과 같습니다. catch 블록에서 해당 예외 개체에서 HTTP 상태 코드와 응답 본문을 추출하고 싶습니다. 어떻게해야합니까?RestClientException이 Throw되었을 때 HTTP 상태 코드와 응답 본문을 검색하려면 어떻게해야합니까?
RestClientException
을 잡는 대신 HttpClientErrorException
특수 문자를 잡으십시오.
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
는 각각 상태 코드와 신체를 얻을 수 getStatusCode
및 getResponseBodyAsByteArray
을 제공
다음은 예입니다.
좀 더 유용한 세부 정보를 추가하고 정답으로이 질문/답변을 더 유용하게 사용하기 위해 답을 수정했습니다. –
위대한 편집. 감사! –
더 일반적인 하나는'HttpClientErrorException'와'HttpServerErrorException'에 의해 상속받은'HttpStatusCodeException'입니다. –