java - 调用restTemplate.getForObject时找不到数据如何处理

标签 java mongodb resttemplate restheart

我正在调用 restTemplate.getForObject 从 Mongo DB 检索特定值。 DB中没有找到想要的数据时如何处理异常?

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

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

最佳答案

基本上,您有两个主要选择:

  1. 只需将 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/

    相关文章:

    java - RestTemplate:不热心的&符号编码

    java - 如果放置在库 jar 中,则不会拾取 Bean 验证配置

    java - 线程唯一数据

    javascript - 如何检查所选电子邮件和姓名是否已存在于 MongoDB 中

    java - 如何高效获取每个http状态码的计数?

    java - 内存不足异常 - 创建休息模板时的永久代空间

    java - 如何在java.time.Instant中获取和设置指定时间?

    java - Spring Integration Java DSL 中的 JPA 出站 channel 适配器配置

    python - 带有主机谓词的 python 脚本中的 Mongorestore

    javascript - 以一致的格式显示文档数组的数据