簡體   English   中英

調用restTemplate.getForObject時如何處理未找到數據

[英]How to handle no data found when calling restTemplate.getForObject

我正在調用restTemplate.getForObject從 Mongo DB 檢索某個值。 如果在數據庫中找不到預期的數據,如何處理異常?

Object[] mongodata = restTemplate.getForObject(resulturl,Object[].class,keyval);
list = Arrays.asList(mongodata); 

其中 keyval 是一個包含 json 的字符串,resulturl 是調用 mongo 的 url

基本上,您有兩個主要選擇:

  1. 只需將RestTemplate調用包裝在try-catch塊中並處理錯誤(如果 404 not found 響應,它將是HttpClientErrorException )。 就像是
try {
  Object[] mongodata = restTemplate.getForObject(resulturl,Object[].class,keyval);
  list = Arrays.asList(mongodata);
} catch (HttpClientErrorException e) {
  if (e.getStatusCode() == HttpStatus.NOT_FOUND) {
    // Do something
  } else {
    throw e;
  } 
}
  1. 實現一個ResponseErrorHandler

有關示例,請參閱 Baeldung 上的這篇文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM