我的Play Framework應用程序中有一些情況,其中一些模型依賴於其他模型,這會在嘗試將它們序列化爲JSON時創建潛在的危險。另外,每個模型中都有一些屬性,我不想公開給客戶端。最後但並非最不重要的一點是,Web客戶端收到的moel實例中的一些屬性並不是真的來自數據庫,而是來自第三方Web服務。DTO in Play Framework
我聽說可以在將對象呈現給JSON之前應用自定義序列化器,但是我想使用更簡單的方法:DTO然後序列化爲JSON。
問題是,我應該在哪裏放置每個模型類的DTO轉換函數?控制器?模型?也許最好的方法是遵循序列化策略並創建幾個轉換類 - 每個模型一個轉換類?
我最大的擔心是轉換器也應該彼此瞭解,因爲顯然我想將作者實例中的每個Book實例先轉換爲DTO,然後再將作者轉爲DTO。這真的很糟糕嗎?