簡體   English   中英

如何在 Spring 引導應用程序的 API 中添加額外的 JSON 屬性?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM