Mat*_*att 17 spring-data-rest spring-hateoas
我真的很喜欢Spring Data Rest为你写的所有样板代码,但我宁愿只是一个'常规?' 没有所有HATEOAS东西的REST服务器.主要原因是我在客户端使用Dojo Toolkit,并且它的所有小部件和存储都被设置为返回的json只是一个直接的项目数组,没有所有链接和类似的东西.有谁知道如何配置这个与java配置,以便我得到所有为我编写的mvc代码,但没有所有的HATEOAS东西?
那么你想要没有构成REST的东西的REST吗?:)我认为尝试改变(阅读:哑巴)RESTful服务器以满足设计糟糕的客户端库是一个糟糕的开始.但是,这就是为什么超媒体元素对于这种工具是必要的(除了可能熟悉的一般基本原理).
大多数REST社区都经常看到将域对象暴露给Web.主要是因为域对象的边界不一定是您想要提供资源的边界.然而,在过去几年中,提供脚手架功能的框架(Rails,Grails等)已经变得非常流行.所以Spring Data REST正试图解决这个问题,但同时也是一个好的公民,在休息方面.
因此,如果您首先从一个普通的数据模型开始(没有很多关系的对象),只想阅读它们,实际上不需要像Spring Data REST这样的东西.您需要编写的Spring控制器在Spring Data存储库之上大约有10行代码.当事情变得更具挑战性时,故事变得更加有趣:
如果您对这些问题的回答是:"我的客户端不需要/无法执行此操作.",那么Spring Data REST可能是错误的库.你基本上构建的是基于HTTP的JSON,但是没有什么比这更好的了.如果它符合您的目的,这是完全正常的,但是将具有明确设计约束的图书馆拴入任意不同的(虽然显然相似),有效地想要完全忽略这些设计方面是首先是错误的方法.
在阅读了Oliver的评论(我同意)之后,您仍然想从Spring Boot中删除HATEOAS。
在包含您的main方法的类的声明上方添加以下代码:
@SpringBootApplication(exclude = RepositoryRestMvcAutoConfiguration.class)
Run Code Online (Sandbox Code Playgroud)
正如Zack在评论中指出的那样,您还需要创建一个控制器,该控制器公开所需的REST方法(findAll,save,findById等)。
归档时间: |
|
查看次数: |
9004 次 |
最近记录: |