我正在编写一个网络应用程序来证明我的技能。我认为自己是一个初学者,我偶然发现了奇怪的问题。当我尝试以 JSON 格式返回用户时,我得到类似 Image 的信息。由于类之间的关系,我在同一个对象中一遍又一遍地循环。我找不到解决方案,任何帮助将不胜感激! Github link
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE)
private List<Account> accounts;
问题的底线是“@ResponseBody”尝试列出用户,但遇到包含用户属性的“account”属性,并且它不断出现
最佳答案
似乎您正在获得(对象的)循环依赖项。正如您所说,让我们有两个对象“用户”和“帐户”。现在“用户”有一个“帐户”对象,其中它们又是“用户”对象(我推测是映射)。现在,每当您使用 @ResponseBody 时,它都会搜索所有可能的 getter 来获取对象。 为了解决这个问题,你可以做两件事......
- 将 @JsonIgnore 放在 Accounts 类中的“users”对象上或其他方式。
- 使用@JsonView在您的休息 Controller 上。
关于java - 方法返回 "infinite"响应数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34093475/