2012-09-23 76 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'。 –

相關問題