簡體   English   中英

Spring Boot REST僅在JSON響應中顯示父項的ID

[英]Spring Boot REST display id of parent only in a JSON response

假設我有以下課程:

public class ChildEntity {

   ...

   @ManyToOne
   private ParentEntity parent;  

   ...

}

現在,我有一個REST端點,該端點從數據庫中檢索子實體對象,因此我的JSON是以下內容:

{"id": "123", "name":"someName", "parent": { //parent fields here } ... }

我想用另一種方式格式化JSON響應。 我希望父項僅顯示數據庫中的ID,而不顯示整個對象:

{"id": "123", "name":"someName", "parentId": "1" ... }

基本上直接從端點返回實體不是一個好主意。 您在數據庫模型和響應之間進行了非常緊密的耦合。 相反,實現一個POJO類,該類將等效於您發送的HTTP響應。

此POJO僅具有所有ChildEntity字段和parentId ,並將在HTTP層中構造。

請,請參閱注釋中的討論,根據我的看法,從Web層返回的此類對象基本上不是DTO。

我正在注釋@JsonIgnore我不想加入JSON響應的任何字段。 為每個實體創建並行POJO是一項昂貴的工作。

@JsonIgnore
@NotNull
@Column(name="DELETED")
private boolean deleted = false;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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