繁体   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