java - 方法返回 "infinite"响应数量

标签 java spring spring-boot

我正在编写一个网络应用程序来证明我的技能。我认为自己是一个初学者,我偶然发现了奇怪的问题。当我尝试以 JSON 格式返回用户时,我得到类似 Image 的信息。由于类之间的关系,我在同一个对象中一遍又一遍地循环。我找不到解决方案,任何帮助将不胜感激! Github link

@OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE)
private List<Account> accounts;

问题的底线是“@ResponseBody”尝试列出用户,但遇到包含用户属性的“account”属性,并且它不断出现

最佳答案

似乎您正在获得(对象的)循环依赖项。正如您所说,让我们有两个对象“用户”和“帐户”。现在“用户”有一个“帐户”对象,其中它们又是“用户”对象(我推测是映射)。现在,每当您使用 @ResponseBody 时,它都会搜索所有可能的 getter 来获取对象。 为了解决这个问题,你可以做两件事......

  1. 将 @JsonIgnore 放在 Accounts 类中的“users”对象上或其他方式。
  2. 使用@JsonView在您的休息 Controller 上。

关于java - 方法返回 "infinite"响应数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34093475/

相关文章:

java - Spring boot 无法验证新建立的连接

angular - 如何修复语法错误 : Unexpected token b in JSON at position 0

java - 如何从java spring获取Microsoft graph访问 token

java - Spring 数据 JPA 多对多检索

java - 部署简单的 Web 应用程序时,java 文件(即 servlet)不在服务器 (Tomcat) 上运行

java - 如何使用 Java 应用程序在数据库中插入基于计划的查询?

java - 如何将对象列表绑定(bind)到SpringMvc Controller ?

java - 什么是 Spring 的注解对应物 <context :property-override>?

java - HTMLPanel 可以在 uiBinder 中使用,即使它没有无参数构造函数。怎么会?

java - jstat 过多 "Class Loader Time"