簡體   English   中英

在Java開發的基於REST的應用程序Java體系結構中,我應該拆分一種實現的請求/驗證,一種實現的域?

[英]In a java developed REST based app java architecture, should I split an implementation for requests/validations and one for domain?

過去,我有一個Bike的域模型,因此我將創建一個名為Bike的接口,並且在過去,我將創建該接口的實現。 在該實現中,我將執行驗證,JSON規則,數據庫映射注釋等。這似乎使系統難看而脆弱。 要映射,顯示和變換的旋轉非常多。

我想知道(作為實驗)我是否應該創建一個僅接受輸入並驗證數據的實現,並從中創建模型的實例,以便在進行一些轉換后在代碼內部更深入地使用。 所以:

(Type)Bike -> BikeWeb, BikeModel

但是,當我這樣做時,似乎我失去了JSON轉換的全部要點,並增加了接口地獄的復雜性。 因為我看到的是

(Type)Bike -> (Types) BikeWeb, BikeModel -> BikeWebImpl, BikeModelImpl

...時代1000

我要問的是我正在描述的一種設計模式,這種模式是關於如何走的路,應該使用的實際模式,還是我不滿意的一些辯論。

似乎Java世界中的每個REST解決方案都對我來說有這個難題,所以也許應該使用其他解決方案,我也很樂意。

老實說,我不知道為什么需要接口以及模型的實現。 您為什么不只使用Bike類來表示模型?

似乎您正在尋找的是DTO模式。 DTO對象表示通過請求或響應發送的有效負載實例。 可以使用JSON語法和某些值來驗證此類對象-我的意思是,可以將某些字段設置為保持0到10之間的值。可以在此級別上進行此類驗證。 第二種對象是模型本身。 這樣,只有BikeDTOBike兩個類。 請看一下這篇文章 這可能會引起您的疑惑。

暫無
暫無

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

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