将JSON读入模型对象或数据传输对象(DTO)

时间:2014-05-01 21:08:53

标签: java spring-mvc

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

  • 使用Jackson将JSON直接映射到我的Model类中。这些类使用@Entity注释,并由hibernate直接使用。有没有理由不让杰克逊直接将JSON读入这些类?

JSON - >模型

  • 在我的模型和我的JSON之间创建中间映射器类。然后在控制器中,映射器对象用于创建Model对象。我不会想到这样做,但是同事已经这样做了,现在我想知道这是否是推荐的方式。

JSON - >映射器类 - >模型

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

1 个答案:

答案 0 :(得分:3)

一般来说,为这种情况设置自定义DTO会更好,因为您需要细粒度的访问控制,因为解耦允许您分开演变两个表示(也许)看起来像单个HTTP资源的东西实际上是连接的结果)。我甚至会说Spring Data REST是一个反模式。

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