Java 插入到api的列表字段,邮递员返回ok,heroku部署的api字段为空
我正在用spring jpa和angular构建一个api rest。此api有一个列表字段“tags”,可通过postman with POST方法正确发布: 但当我转到部署在heroku中的api时,标记字段为空:Java 插入到api的列表字段,邮递员返回ok,heroku部署的api字段为空,java,spring,api,hibernate,heroku,Java,Spring,Api,Hibernate,Heroku,我正在用spring jpa和angular构建一个api rest。此api有一个列表字段“tags”,可通过postman with POST方法正确发布: 但当我转到部署在heroku中的api时,标记字段为空: {"id":3164,"name":"Iñaki","surname":"Williams","dni":"19238191G",&quo
{"id":3164,"name":"Iñaki","surname":"Williams","dni":"19238191G","address":"calle almanaque,Madrid","mail":"williams@iñaqui.com","phone":"9373482382","linkedln":"https://www.linkedin.com/
在/sara-b-54b93543/“,”状态“:”por validar“,”评级“:”67“,”可用性“:”tardes“,”标签“:[]}]
我的专家模型:
@Entity
@Table(name="experts")
public class Expert {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String surname;
private String dni;
private String address;
private String mail;
private String phone;
private String linkedln;
private String state;
private String rating;
private String availability;
@ManyToMany(mappedBy="expert", cascade = CascadeType.ALL,fetch = FetchType.EAGER)
private List<Tag> tags = new ArrayList<>();
public Expert() {
}
public Expert(String name, String surname, String dni, String address, String mail, String phone, String linkedln, String state, String rating, List<Tag> tags, String availability) {
this.name = name;
this.surname = surname;
this.dni = dni;
this.address = address;
this.mail = mail;
this.phone = phone;
this.linkedln = linkedln;
this.state = state;
this.rating = rating;
this.tags = tags;
this.availability = availability;
}
知道为什么会发生这种情况吗?谢谢!!!当您对实体执行@manytomy字段时,它会创建第三个表,在这两个表之间进行映射,我建议您执行以下操作:
- 创建一个名为
Response
- 此类将具有与
相同的属性,但没有任何注释(它不是实体)Expert
- 每次有一个
实例时,创建一个Expert
实例,该实例采用相同的值Response
- 在RestController上,让返回
类列表的方法返回Expert
列表,您将用Response
实例填充该列表Response
public class Response { private Long id; private String name; private String surname; private String dni; private String address; private String mail; private String phone; private String linkedln; private String state; private String rating; private String availability; private List<Tag> tags = new ArrayList<>() ... }
公共类响应{ 私人长id; 私有字符串名称; 私家姓; 私有字符串dni; 私有字符串地址; 私人字符串邮件; 私人电话; 私有字符串链接; 私有字符串状态; 私人字符串评级; 私有字符串可用性; 私有列表标记=新的ArrayList() ... }
@Override
public Expert postExpert(Expert expert) {
this.manager.persist(expert);
return expert;
}
public class Response {
private Long id;
private String name;
private String surname;
private String dni;
private String address;
private String mail;
private String phone;
private String linkedln;
private String state;
private String rating;
private String availability;
private List<Tag> tags = new ArrayList<>()
...
}