【问题标题】:Entity and DTO communication between modules模块之间的实体和DTO通信
【发布时间】:2016-12-31 13:07:17
【问题描述】:

我想了解最佳做法。以下事情令人困惑: 1) model 应该使用select new ExampleDto(...) 返回实体还是直接返回 DTO? 2)我们应该如何将实体转换为 DTO,反之亦然? 3)我们可以使用实现serializable类的实体到DTO转换的DTO来转换json等中的对象吗?

请在您想要的任何方向上提供您的专家意见。

【问题讨论】:

    标签: java spring-mvc code-standards


    【解决方案1】:

    许多人可能会争论在模型中返回什么。在我看来,返回 dto 是一种很好的做法。原因是——

    1. 我们应该尽量避免将实体暴露给查看。
    2. 很多时候视图只需要实体的子集,所以在这种情况下返回完整的一堆数据是不好的。

    您可以考虑使用 Dozer 将 DTO 转换为实体,反之亦然。 http://dozer.sourceforge.net/

    【讨论】:

    • 谢谢。我过去使用过推土机,但在 xml 中使用映射太复杂了。有没有 Java 级别的转换方法?
    • 如果你过去使用过xml映射。尝试使用注释重新访问它。使用注释非常容易使用。对于简单的领域,您几乎无事可做。对于复杂的对象映射,您可以通过扩展 DozerConvertor 并实现两个方法来使用创建转换器类。
    • 谢谢@raza 是的,我当然应该重温一遍:)
    猜你喜欢
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2021-06-16
    • 1970-01-01
    相关资源
    最近更新 更多