2012-09-23 24 views

cevap

17

RestClientException yakalamak yerine, özel HttpClientErrorException'u yakalayın.

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 sırasıyla durum kodu ve bedeni almaya getStatusCode ve getResponseBodyAsByteArray sağlamaktadır:

İşte bir örnek.

+3

Bazı daha faydalı bilgiler eklemek ve bu soru/yanıtı standartlar olarak daha kullanışlı hale getirmek için cevabınızı düzenledim. –

+0

Harika düzenleme. Teşekkürler! –

+0

daha genel olanı, "HttpClientErrorException" ve "HttpServerErrorException" tarafından devralınan "HttpStatusCodeException". –

İlgili konular