【问题标题】:Read JSON into Model object or Data Transfer Object (DTO)将 JSON 读入模型对象或数据传输对象 (DTO)
【发布时间】:2014-05-01 21:08:53
【问题描述】:

我是 Spring MVC 的新手,并且无法找出将 JavaScript 客户端发送的 JSON 数据读取到 Java 对象的正确方法。

  • 使用 Jackson 将 JSON 直接映射到我的模型类中。这些类使用@Entity 注解,直接被hibernate使用。有什么理由不让 Jackson 将 JSON 直接读入这些类?

JSON -> 模型

  • 在我的模型和我的 JSON 之间创建中间 mapper 类。然后在控制器中,映射器对象用于创建模型对象。我没有想过这样做,但一位同事已经这样做了,现在我想知道这是否是推荐的方法。

JSON -> 映射器类 -> 模型

在映射传入的 JSON 时是否有最佳实践?

【问题讨论】:

标签: java spring-mvc


【解决方案1】:

一般来说,对于这种情况,最好有一个自定义 DTO,因为您需要细粒度的访问控制,并且因为解耦允许您在有意义的情况下分别演化这两种表示(可能看起来像单个 HTTP资源实际上是连接的结果)。我什至会说 Spring Data REST 是一种反模式。

查看 Spring HATEOAS 框架,该框架使资源表示和映射变得更加容易。

【讨论】:

    猜你喜欢
    • 2010-11-06
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 2014-01-25
    • 2011-03-14
    相关资源
    最近更新 更多