调用 restTemplate.getForObject 时如何处理找不到数据
How to handle no data found when calling restTemplate.getForObject
我正在调用 restTemplate.getForObject
从 Mongo 数据库中检索某个值。数据库中没有找到预期的数据,如何处理异常?
Object[] mongodata = restTemplate.getForObject(resulturl,Object[].class,keyval);
list = Arrays.asList(mongodata);
其中 keyval 是包含 json 的字符串,resulturl 是用于调用 mongo
的 url
基本上,您有两个主要选择:
- 只需将
RestTemplate
调用包装在 try-catch
块中并处理错误(如果 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
.
有关示例,请参见 Baeldung 上的 this post。
我正在调用 restTemplate.getForObject
从 Mongo 数据库中检索某个值。数据库中没有找到预期的数据,如何处理异常?
Object[] mongodata = restTemplate.getForObject(resulturl,Object[].class,keyval);
list = Arrays.asList(mongodata);
其中 keyval 是包含 json 的字符串,resulturl 是用于调用 mongo
的 url基本上,您有两个主要选择:
- 只需将
RestTemplate
调用包装在try-catch
块中并处理错误(如果 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
.
有关示例,请参见 Baeldung 上的 this post。