Spring +(适用于JSON REST API的库)

时间:2012-07-31 14:48:19

标签: java json rest

我正在寻找一个REST API,我想要一些与Spring完美集成的东西。我看过几个,想看看我是否错过任何东西,并且知道更多人的意见。

所以这是我的基本要求......

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

还有一个要求......

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

  1. 创建您的实体(例如Person.java)
  2. 使用Spring Data JPA并创建接口以自动生成这些实体的存储库/ DAO(例如.PersonRepository.java)
  3. 使用Spring Data REST将Spring Data存储库导出为HATEOAS / RESTful servlet(浏览/persons url)
  4. 您不必为存储库/ DAO编写任何代码。 Spring Data JPA将为您编写DAO。您所要做的就是创建一个非常基本的界面。

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

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