我正在调用restTemplate.getForObject
从 Mongo DB 中检索某个值。如果在数据库中找不到预期的数据,如何处理异常?
Object[] mongodata = restTemplate.getForObject(resulturl,Object[].class,keyval);
list = Arrays.asList(mongodata);
其中keyval是一个包含json的字符串,resulturl是调用mongo的url
我正在调用restTemplate.getForObject
从 Mongo DB 中检索某个值。如果在数据库中找不到预期的数据,如何处理异常?
Object[] mongodata = restTemplate.getForObject(resulturl,Object[].class,keyval);
list = Arrays.asList(mongodata);
其中keyval是一个包含json的字符串,resulturl是调用mongo的url
基本上,您有两个主要选择:
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;
}
}
ResponseErrorHandler
.有关示例,请参见Baeldung 上的这篇文章。