簡體   English   中英

spring boot:將數據發送到1個端點但對其他端點隱藏

[英]spring boot: sending data to 1 endpoint but hiding from other

我有一個簡單的 Spring Boot 應用程序,我的模型包含 3 個字段。 和控制器公開 2 個端點 /e1 和 /e2。 我想要實現的是,當 /e1 被調用時,我想從我的模型中返回所有 3 個字段,當 /e2 被調用時,我只返回 2 個字段並從中隱藏第三個字段。

有沒有辦法做到這一點以及如何做到這一點? 謝謝

首先,您應該始終有 2 個類 - 實體及其 dto 表示 - 即使它們的字段非常相似。 這給你:

  • 獨立於外部消費者,您將來可能會更改您的模型,但合同保持不變
  • 有機會利用 Hiberante laze loading 的優勢
  • 輕松解決您的問題:只有 2 個 DTO,一個包含所有字段,另一個沒有隱藏字段。

您可能需要bean 映射器將實體轉換為 DTO。

您可以嘗試兩種解決方案中的任何一種..

  1. 創建兩個 POJO,一個有 3 個字段,另一個有 2 個字段,並相應地返回。
  2. 如果您不想要單獨的 pojo,則在 pojo 中設置所有 3 個字段的值,當 /e2 調用時,對其進行迭代並明確地將您想要隱藏的值清空。

暫無
暫無

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

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