2012-09-23 5 views

Antwort

17

Anstatt RestClientException zu fangen, fangen Sie die spezielle HttpClientErrorException.

Hier ist ein Beispiel:

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 bietet getStatusCode und getResponseBodyAsByteArray den Statuscode und Körper zu bekommen sind.

+3

Ich habe Ihre Antwort bearbeitet, um weitere nützliche Details hinzuzufügen und diese Frage/Antwort nützlicher zu machen. –

+0

Große Bearbeitung. Vielen Dank! –

+0

generischer ist 'HttpStatusCodeException' geerbt von' HttpClientErrorException' und 'HttpServerErrorException'. –

Verwandte Themen