繁体   English   中英

Spring Boot Rest 服务 Angular

[英]Spring boot Rest service Angular

我在前端有一个应用程序,我使用 angular,后端我使用 Spring Boot。 在我的前端,我必须上传一个在表格中插入数据的 CSV 文件。 所以我将数据发送到保存它的后端。 我的问题:我有一个类 Individus 与 @OneToMany 与其他类的关系,如 comptes。 因此,当我尝试使用此 Rest 服务获取 All individus 时: http://localhost:8080/api/individus 时,出现解析 json 数据错误。

at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.9.6.jar:2.9.6]
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:145) ~[jackson-databind-2.9.6.jar:2.9.6]
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:107) ~[jackson-databind-2.9.6.jar:2.9.6]
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25) ~[jackson-databind-2.9.6.jar:2.9.6]
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) ~[jackson-databind-2.9.6.jar:2.9.6]

这是我的班级 Individus:

@Entity 

公共类 Individu 实现了 Serializable {

@Id
private String nui;
private int civility; 
private String lastName;
private String useName;
private String firstName;
@Temporal(TemporalType.DATE)
@JsonFormat(pattern="dd/MM/yyyy")
private Date birthDate;
private String birthPlace;
private String birthCountry;
private String birthCountryLib;
private String nationality;
@OneToMany(mappedBy="individu", fetch = FetchType.LAZY)
private Collection<Compte> comptes;
@OneToMany(mappedBy="individu", fetch = FetchType.LAZY)
private Collection<Adresse> adresses;
@OneToMany(mappedBy="individu", fetch = FetchType.LAZY)
private Collection<Contact> contacts;
@OneToMany(mappedBy="individu", fetch = FetchType.LAZY)
private Collection<Iban> ibans;ode here

有人对我有解决方案吗?

您没有提供足够的堆栈跟踪来显示实际错误是什么,但我怀疑您遇到了圆形图的问题,因为您的 Individu 类集合(例如 Compte、Ardresse)中的对象可能包含对父 Individu 实例的引用。

在这种情况下,解决方案是在子级对父级的引用中添加 @JsonIgnore 注释。 这很可能是当前使用@ManyToOne 注释标记的子级中的一个属性。

这是另一种解决方案

public class Produit{.....
@ManyToOne(optional=false,fetch=FetchType.LAZY)
@JsonBackReference
private Category category;....}


public class Category{....
@OneToMany(fetch=FetchType.LAZY,mappedBy="category")
@JsonManagedReference
private Collection<Produit> produits;....}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM