繁体   English   中英

春季引导。 如何将数组放入json

[英]Spring boot. How to put array to json

例如,我想在我的Spring启动应用程序中得到这样的JSON作为响应:

{
   "firstName": "John",
   "lastName": "Doe",
   "phoneNumbers": [
       "453 123-1234",
       "753 123-4567"
   ]
}

我有@Entity注释的类:

@Entity 
public class MyEntity { 

String firstName; 
String lastNAme;
String phoneNumbers;

//constructors, getters and setters... 
}

然后,如果我向端点发送请求,则会收到以下响应:

{
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": "453 123-1234, 753 123-4567"
}

其中phoneNumbers只是一个字符串,而不是一个数组。 我尝试了将phoneNumbers字段设计为数组或集合的不同变体,并使用了批注,例如@ElementCollection,但在请求后仅返回异常或错误消息。 如何解决这个问题?

您需要一个电话号码清单

public class MyEntity {

    private String firstName;
    private String lastNAme;
    private List<String> phoneNumbers;

作为一个好的数据库设计

  • 每个个体实体都应具有主键。
  • 如果它包含多值属性,则将其带出并使其成为具有对父实体的外键引用的实体。

这些关系实体应具有类似于以下的列

ParentEntity 
entity_id   first_name  last_name

PhoneNumber
child_id    entity_id   phone_number

模型类中的这些映射配置

@Entity
public class ParentEntity {
    @Id
    private long entityId;
    private String firstName; 
    private String lastName;
    @OneToMany(mappedBy="parentEntity")
    private Set<PhoneNumber> phoneNumbers;
}

@Entity
public class PhoneNumber { 
    @Id
    private long childId;
    @ManyToOne
    @JoinColumn(name = "entityId")
    private ParentEntity parentEntity
    private int phoneNumber;
}

暂无
暂无

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

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