Spring Boot JSON返回无限的嵌套对象

men门纳西夫

我的代码中包含以下内容:

公司实体

@Entity
@Table(name = "company")
public class Company{
   @OneToMany(mappedBy = "company", cascade = CascadeType.ALL)
   @JsonUnwrapped
   private Set<User> users;
}

用户实体

@Entity
@Table(name="user")
public class User{
    @ManyToOne(cascade = CascadeType.REFRESH)
    @JoinColumn(name="company_id")
    private Company company;
}

CompanyController

@GetMapping("/company")
public ResponseEntity<Object> getAllCompanies(){
    List<Company> allCompanies = companyService.findAll();
    return ResponseEntity.ok(allCompanies);

}

问题是当我/company在浏览器中调用时,我得到的users对象包括公司对象。像这样的东西

[
    {
        "id": 1,
        "name": "company",
        "users": [
            {
                "id": 14,
                "firstName": "Yamen",
                "lastName": "Nassif",
                "company": {
                    "id": 1,
                    "name": "company",
                    "users": [
                        {
                            "id": 14,
                            "firstName": "Yamen",
                            "lastName": "Nassif",
                            "company": {
                                "id": 1,
                                "name": "company",
                                "users": [

...

当我getAllUsers公司和用户也在扩展时,情况也是如此。

我的数据库看起来还不错。

控制台中出现了无尽的错误,当然还有Stackoverflow错误。我怎样才能解决这个问题 ?

sha

由于无限递归,您会遇到此错误。

Company上有一个链接,User并上User有一个链接Company

您至少有两个选择:

例如

@GetMapping("/company")
public ResponseEntity<Object> getAllCompanies() {
    List<Company> allCompanies = companyService.findAll();
    List<CompanyDto> allCompanyDtoList = convertToCompanyDtoList(allCompanies);
    return ResponseEntity.ok(allCompanyDtoList );
}

就个人而言,我更喜欢第二种选择,因为返回Entities并不是一个好习惯。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Boot API响应返回重复的嵌套JSON

来自分类Dev

Spring Boot JPA - 带有嵌套对象和 id 的 json

来自分类Dev

Spring Boot如何返回嵌入在对象结构中的JSON

来自分类Dev

在 Spring Boot 中返回 Json 对象,但显示未定义

来自分类Dev

Spring Boot Json 格式

来自分类Dev

如何从Spring Boot @Controller返回json / xml?

来自分类Dev

Spring Boot Response实体不返回JSON

来自分类Dev

对象渲染到Json-Spring Boot

来自分类Dev

Spring Boot-嵌套ConfigurationProperties

来自分类Dev

Spring Boot 中的嵌套请求

来自分类Dev

Spring Boot JPA-不包含具有OneToMany关系的嵌套对象的JSON

来自分类Dev

Spring Boot Rest:json 问题

来自分类Dev

将JSON的一部分返回到对象Spring Boot

来自分类Dev

从 Spring Boot 控制器返回非 JSON 数据(对象列表)

来自分类Dev

Spring Boot-无限循环服务

来自分类Dev

Java Spring Boot无限重定向

来自分类Dev

Spring Boot-登录后返回用户对象

来自分类Dev

如何在Spring Boot中插入和返回完整对象

来自分类Dev

如何在Spring Boot中插入和返回完整对象

来自分类Dev

Spring-boot从控制器返回json和xml

来自分类Dev

Spring Boot 从外部 API 返回 JSON 字符串

来自分类Dev

在 Spring Boot 中将 JSON 文件作为 JSONArray 返回

来自分类Dev

Spring boot 中的 RestController-404 错误而不是 JSON 对象

来自分类Dev

从Spring Boot Controller返回JAXB生成的元素

来自分类Dev

Spring Boot @ResponseStatus不返回HTTP消息

来自分类Dev

Spring Boot中的查询返回空值

来自分类Dev

Spring boot sessionRegistry 返回空的主体列表

来自分类Dev

Spring Boot - Rest Pagination 返回消息 HttpMessageNotWritableException

来自分类Dev

如何在 Spring Boot 上返回 JSONObject?

Related 相关文章

热门标签

归档