[英]How to add additional JSON properties like this in API in Spring Boot application?
我正在实现一个 REST API,它使用 JSON 发送和接收数据(我对这个 ZDB9742387143ACE146 设计完全陌生) 我正在使用 Spring 框架。 我想在我的 API 中显示主 JSON 主体之外的状态代码和iso 。 我应该怎么办??
像这样:
[
[
{
"status":"200",
"iso":"03"
}
],
{
"id": 0,
"lat": "33.93911",
"long": "67.709953",
"provinceState": ""
},
{
"id": 1,
"lat": "41.1533",
"long": "20.1683",
"provinceState": ""
}
]
这是我的 pojo 课程。
实体
@Entity
public class GlobalDeadEntity {
@Id
private Long id;
private int status;
private int iso;
public GlobalDeadEntity() {
}
public GlobalDeadEntity(Long id, Integer totalReportedDead, Integer totalDeadToday) {
this.id = id;
this.status = totalReportedDead;
this.iso = totalDeadToday;
}
@JsonIgnore
@JsonProperty(value = "id")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getIso() {
return iso;
}
public void setIso(int iso) {
this.iso = iso;
}
}
谢谢你的帮助。
我没有注意到您的问题中 POJO 的位置也遵循最佳实践,您必须将 DB model 和 web model 分开:无论如何,您必须将它们包含在一个
@Entity
public class GlobalDeadEntity {
@Id
private Long id;
private int status;
private int iso;
public GlobalDeadEntity() {
}
public GlobalDeadEntity(Long id, Integer totalReportedDead, Integer totalDeadToday) {
this.id = id;
this.status = totalReportedDead;
this.iso = totalDeadToday;
}
@JsonIgnore
@JsonProperty(value = "id")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getIso() {
return iso;
}
public void setIso(int iso) {
this.iso = iso;
}
}
假设以下信息代表位置信息::
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"id",
"lat",
"long",
"provinceState"
})
public class Info {
@JsonProperty("id")
private Integer id;
@JsonProperty("lat")
private String lat;
@JsonProperty("long")
private String _long;
@JsonProperty("provinceState")
private String provinceState;
public Info(Integer id, String lat, String _long, String provinceState) {
this.id = id;
this.lat = lat;
this._long = _long;
this.provinceState = provinceState;
}
@JsonProperty("id")
public Integer getId() {
return id;
}
@JsonProperty("id")
public void setId(Integer id) {
this.id = id;
}
@JsonProperty("lat")
public String getLat() {
return lat;
}
@JsonProperty("lat")
public void setLat(String lat) {
this.lat = lat;
}
@JsonProperty("long")
public String getLong() {
return _long;
}
@JsonProperty("long")
public void setLong(String _long) {
this._long = _long;
}
@JsonProperty("provinceState")
public String getProvinceState() {
return provinceState;
}
@JsonProperty("provinceState")
public void setProvinceState(String provinceState) {
this.provinceState = provinceState;
}
}
那么你可以传递GlobalDeadEntityHolder
而不是直接传递GlobalDeadEntity
如下:
public class GlobalDeadEntityHolder {
private List<Info> InfoList;
private GlobalDeadEntity GlobalDeadEntity;
public GlobalDeadEntityHolder(List<Info> infoList, GlobalDeadEntity globalDeadEntity) {
InfoList = infoList;
GlobalDeadEntity = globalDeadEntity;
}
public List<Info> getInfoList() {
return InfoList;
}
public void setInfoList(List<Info> infoList) {
InfoList = infoList;
}
public GlobalDeadEntity getGlobalDeadEntity() {
return GlobalDeadEntity;
}
public void setGlobalDeadEntity(GlobalDeadEntity globalDeadEntity) {
GlobalDeadEntity = globalDeadEntity;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.