簡體   English   中英

Spring 數據 Rest 中是否有用於參數的“預測”?

[英]Is there 'projections' in Spring Data Rest for paremeters?

SDR 中的投影非常適合控制您的 json output。 但是輸入,參數到 REST 調用呢?

當我實現自己的控制器時,我可以通過以下任一方式為輸入(創建/更新)處理自定義“投影”

  1. 創建與完整實體不同的自定義 DTO
  2. 或者我可以只使用@JsonView 並在途中省略某些字段

這兩種方法都不適用於 SDR,因為您不編寫控制器。 這樣做的方法是什么?

反思評論部分討論的問題:

向實體添加@Postload方法:

@PostLoad
public void postLoad() {
    ... store the values of the un-updateable fields into transient fields with @JsonIgnore
}

@JsonIgnore
@Transient
private String originalValue1;

@JsonIgnore
@Transient
private String originalValue2;

創建一個@HandleBeforeSave事件處理程序。 它在更新期間調用,但不是在創建期間調用。

將存儲的值復制到此處理程序中的原始字段。

  • 在創建期間不會調用事件處理程序,所有字段都可以通過標准 SDR 端點設置。
  • 在更新期間,您在 save 之前使用其原始值覆蓋更改的值,因此保存實體時它將保留原始值。

暫無
暫無

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

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