Play框架中的DTO

Pre*_*hev 7 java model-view-controller dto playframework

我的Play Framework应用程序中存在一种情况,其中一组模型依赖于其他模型,这在尝试将它们序列化为JSON时会产生潜在的危险.此外,每个模型中都有一些属性,我不想向客户端公开.最后,但并非最不重要的是,Web客户端收到的moel实例中的某些属性并非真正来自数据库,而是来自第三方Web服务.

我听说在将对象渲染为JSON之前可以应用自定义序列化程序,但我想使用更简单的方法:然后将DTO序列化为JSON.

问题是,我应该在哪里为每个Model类放置DTO转换函数?控制器?模型?也许最好的方法是遵循序列化策略并创建一些转换类 - 每个模型一个?

我最担心的是转换器也应该彼此了解,因为很明显我想先将Author实例中的每个Book实例转换为DTO,然后在DTO中转换Author.这真的很糟糕吗?

nde*_*rge 3

在标准 Java EE 应用程序 (Spring) 中,您应该使用Dozer 框架在模型对象和 DTO 之间进行转换。

在剧中!在上下文中,我应该将 DTO 和转换器放在专用包中,或者放在models.