[英]How to work with multiple 'views' of the same domain model?
我正在使用Jackson來解析android應用程序的JSON。 我也打算在REST服務器中使用它,所以我將在客戶端和服務器之間共享我的模型。
我創建了一個POJO來建模域對象“ Friend”。 當客戶端獲取https://www.myserver.com/api/1/friend/1234時,我想返回ID為1234的序列化Friend,也許缺少一兩個字段。
但是,當客戶端獲取https://www.myserver.com/api/1/friend/時,我想返回所有好友對象,但是數據較少,可能更適合搜索結果(例如,名字,姓氏)和個人資料圖片,但不包括他們的朋友列表,出生日期等)。
我在這里應該遵循哪種模式,以便可以根據訪問方式以不同的方式表示相同的基礎模型?
繼承可以與@JsonIgnoreProperties
一起使用。
您可以擁有Friend
類,並將其擴展以限制要序列化的屬性。
@JsonIgnoreProperties({ "friends", "dateOfBirth" })
class RestrictedFriend extends Friend {
}
看看是否要使用繼承。 有一個基類,它具有要與所有人共享的字段,還有一個子類,它具有更多的受限數據。 有兩個JSON API,一個用於公共信息,一個用於公共+安全信息,並根據調用的API序列化基類或子類對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.