2012-09-23 11 views

답변

17

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는 각각 상태 코드와 신체를 얻을 수 getStatusCodegetResponseBodyAsByteArray을 제공

다음은 예입니다.

+3

좀 더 유용한 세부 정보를 추가하고 정답으로이 질문/답변을 더 유용하게 사용하기 위해 답을 수정했습니다. –

+0

위대한 편집. 감사! –

+0

더 일반적인 하나는'HttpClientErrorException'와'HttpServerErrorException'에 의해 상속받은'HttpStatusCodeException'입니다. –

관련 문제