我正在调用 restTemplate.getForObject
从 Mongo DB 检索特定值。 DB中没有找到想要的数据时如何处理异常?
Object[] mongodata = restTemplate.getForObject(resulturl,Object[].class,keyval);
list = Arrays.asList(mongodata);
其中keyval是一个包含json的字符串,resulturl是调用mongo的url
最佳答案
基本上,您有两个主要选择:
- 只需将
RestTemplate
调用包装在try-catch
block 中并处理错误(如果出现 404 未找到响应,则为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
。
参见this在 Baeldung 上发帖作为示例。
关于java - 调用restTemplate.getForObject时找不到数据如何处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59925397/