当前位置: 首页 > 知识库问答 >
问题:

IllegalArgumentException:无法反序列化的实例

黄沈浪
2023-03-14

我有一个Spring启动应用程序,我有一个BlogsService调用一个博客库,它应该返回一个与所传递的搜索查询相匹配的博客列表。我得到了以下由第76行引起的结果。有什么想法吗?谢谢

第76行:

return objectMapper.convertValue(searchEntity, BlogDetailsResponse.class);

IllegalArgument异常:不能反序列化的package.dto.BlogDetails响应实例START_ARRAY令牌在[Source: UNKNOWN;行:-1,列:-1]在com.cor.devsquareawsservice.services.impl.BlogServiceImpl.search博客(BlogServiceImpl.java:76)~[类/: na]

BlogServiceImpl。JAVA

  @Override
  public BlogDetailsResponse searchBlogs(SearchBlogsRequest searchBlogsRequest) {
    try {
      final List<BlogEntity> searchEntity = blogsRepository.searchBlogs(searchBlogsRequest.getSearchBlogsQuery());
      return objectMapper.convertValue(searchEntity, BlogDetailsResponse.class);
    } catch (final Exception exception) {
      log.error(exception);
      throw new DevSquareDynamoDBException(ExceptionConstants.SERVICE_CREATE_BLOG_EXCEPTION_MESSAGE, exception);
    }
  }

博客epository.java

  public List<BlogEntity> searchBlogs(String query) {
    try {
      DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
      scanExpression.addFilterCondition("title", new Condition()
              .withComparisonOperator(ComparisonOperator.CONTAINS)
              .withAttributeValueList(new AttributeValue().withS(query)));
      return dynamoDBMapper.scan(BlogEntity.class, scanExpression);
    } catch (Exception ex) {
      log.error("failed to get blogs > " + query);
    }
    return null;
  }

共有1个答案

乐成济
2023-03-14

这解决了我的问题。我需要绘制列表并隐藏每个实体。

  public List<BlogDetailsResponse> searchBlogs(SearchBlogsRequest searchBlogsRequest) {
    try {
      return blogsRepository.searchBlogs(searchBlogsRequest.getSearchBlogsQuery()).stream().map(e -> objectMapper
              .convertValue(e, BlogDetailsResponse.class))
              .collect(Collectors.toList());
    } catch (final Exception exception) {
      log.error(exception);
      throw new DevSquareDynamoDBException(ExceptionConstants.SERVICE_SEARCH_BLOGS_EXCEPTION_MESSAGE, exception);
    }
  }
 类似资料:
  • 问题内容: 我正在尝试使用Jackson将json数据转换为POJO对象。这是MainActivity和我的POJO类代码。我基本上收到了JsonMappingException错误。我还附上了整个日志。 MainActivity.java: Entries.java(这是POJO) 现在,我的日志中出现以下错误。因此,我无法继续工作。这是日志: 问题答案: 在 条目* 和 电话中 删除构造函数

  • 问题内容: 我试图序列化和反序列化内部对象的数组列表: HairList对象也是一个可序列化的对象。 此代码执行返回以下错误: 排队 我不知道我在做什么错。你能给个小费吗? 更新: 解决: 仅使用HairBirt的本机数组而不是ArrayList即可工作: 代替 感谢大家的帮助。 问题答案: 不要使用-而是使用二进制数据并对它进行base64编码,以将其转换为字符串而不会丢失信息。 我强烈怀疑这是

  • 问题内容: 我有一个使用Jersey构建并部署在AppEngine中的REST服务。REST服务实现使用媒体类型的动词PUT 。数据绑定由Jackson进行。 该动词使用JSON中表示的企业部门关系为 在客户端,我使用gson将JSON表示形式转换为Java对象。然后,将对象传递给我的REST服务,它可以正常工作。 问题: 当我的JSON表示形式在集合中只有一项时 服务无法反序列化对象。 正如其他

  • 我需要向网络服务发送帖子请求,但它在异常后返回。 实际服务器响应如下: 我根据以下内容发送请求 我的代码

  • 问题内容: 作为一个小项目,我一直在尝试做一个小事,它可以读取序列化的lambda(从本地或从FTP)并调用它们的运行函数作为测试的一部分,以测试Windows中的文件关联(即打开某些文件类型)使用特定程序打开它们),但不管如何,无论如何,它似乎从未正确地反序列化。 lambda被这样声明 并使用由ObjectOutputStream包装的[n可选] BufferedOutputStream包装的

  • 问题内容: 在hibernate状态下执行条件查询时,出现以下异常: 可能是什么问题呢? PS:虽然可能不相关,但我的hibernate版本是hibernate-4.0.1 final。 问题答案: 问题在于被引用的实体对实体有另一个引用,并且该关系未由任何-like注释进行注释。