2

我希望在工作中制作一个 REST API,并且我想要与 Spring 很好地集成的东西。我看了几个,想看看我是否遗漏了什么,并得到更多知情人士的意见。

所以这是我的基本要求……</p>

  • 集成(或至少不与 Spring 3.1+ 冲突)
  • 超媒体链接(一种或另一种方式,即使它只是基于模板的字符串字段)
  • JSON(XML 也不错)支持

还有一个要求……</p>

映射到/从 JSON。这是迄今为止最大的绊脚石。我看到很多框架支持编组到/形成 JSON,但都是直接的 POJO 编组。例如,我可能想为不同的请求提供不同的对象表示。

假设我想要一份所有宠物主人的名单,我可能只想要一份人员名单和他们的名字,以及他们宠物的链接。但是,如果其他一些请求是专门针对所有者的,我想将他们的宠物(作为所有者对象的子对象)列为响应的一部分。

有没有一种好方法可以做到这一点并定义这种映射,或者您只需要创建具有不同注释的 POJO 并将数据从实体传输到它们?基本上是创建一组 DTO 来表示不同请求的数据?

4

2 回答 2

2

Spring MVC 可能满足您的所有要求 - 这是一个很好的参考 - http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html

于 2012-07-31T14:51:34.523 回答
0
  1. 创建您的实体(例如 Person.java)
  2. 使用 Spring Data JPA 并创建接口来为这些实体自动生成存储库/DAO(例如。PersonRepository.java)
  3. 使用 Spring Data REST 将 Spring Data 存储库导出为 HATEOAS/RESTful servlet(浏览/personsurl)

您不必为存储库/DAO 编写任何代码。Spring Data JPA 将为您编写 DAO。您所要做的就是创建一个非常基本的界面。

您不必编写任何控制器。Spring Data REST 将使用自己的 servlet 导出所有存储库。

当您使用它时,使用 Hibernate 的 hbm2java 从您的数据库模式创建您的实体,并创建您的 Spring Data JPA 存储库。

于 2013-03-21T05:11:34.407 回答