亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Boot驗證,反序列化requestBody時期望字段

Spring Boot驗證,反序列化requestBody時期望字段

臨摹微笑 2023-06-21 13:53:42
我想知道 Spring Boot 最佳實踐。我有一個 Spring Boot API,它基本上公開了另一個 API。這是一個必要的邪惡。外部 API 完全是一場災難,我們無法直接將其暴露給我們的客戶。問題在于,此 API 有時需要 requestBody 中的字段,但不會將它們返回給使用者。將其轉換為 Spring Boot(Javax 驗證或 Lombok)。我不能只在這些字段上添加 @Notnull 或 @Nonnull 注釋。因為當 Jackson 嘗試反序列化 responseBody 時,它會失敗。我應該在這里做什么?我應該制作一個單獨的 ObjectIn 和 ObjectOut我應該刪除注釋并在restController 中進行自定義條件檢查嗎我應該完全做些別的事情嗎
查看完整描述

2 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

如果請求和響應有效負載不同,則使用不同的類來表示它們可能是有意義的。為了處理將 DTO 映射到域模型(以及其他方式)的樣板代碼,您可以查看映射框架,例如MapStruct,它與 Spring 集成得很好。

除了為輸入和輸出定義不同的類之外,您還可以研究驗證組


查看完整回答
反對 回復 2023-06-21
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

假設數據以 JSON 結構傳輸。

使用 @JsonProperty(value = "example_field_name", required = false),將 required 設置為 false,來注釋您的屬性。如果 JSON 結構中缺少字段,Jackson 將不會拋出任何錯誤。

查看完整回答
反對 回復 2023-06-21
  • 2 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號