[英]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.