背景
昨天同事问我有没有研究过 ,没有~但是看名字就大概知道是做什么的(命名的重要性),因为之前有了解过 ,过一会发过两个截图过来。真的很强大,感觉这个在使用RESTful风格接口协议的微服务时都不用写Controller了。
什么是Spring Data REST
Spring Data REST是基于Spring Data的Repository,把 Repository 自动输出为REST资源,目前支持Spring Data JPA、Spring Data MongoDB、Spring Data Neo4j、Spring Data GemFire、Spring Data Cassandra的 Repository 自动转换成REST服务。注意是自动。Spring Data REST把我们需要编写的大量REST模版接口做了自动化实现。
两行代码即可实现
在网上大概了解一下,然后动手做个demo,果然是两行代码即可实现。
新建一个Spring Boot项目,添加依赖
表结构
放点数据进去,如下图:
与表对应的实体
创建User表对应的Repository
自定了一个接口UserRepository 继承了JpaRepository,其中泛型中的User是实体类,Long是主键类型,在类的头部加上了一个 @RepositoryRestResource注解,并添加了一个Path为user。就这样,两行代码即可实现User实体类的RESTFul风格的所有接口。
测试,访问
接口中自动附带查询详情的链接
分页测试,
接口中同样自动附带分页的链接,分页信息
这样更便于解耦前后端,后端如果链接地址变了,前端不用改,直接用Link里面的地址访问
同样,也提供了一个类似swagger的接口测试UI
问题:
现在还不知道自动转换成REST服务有哪些缺点?
自动转换成REST服务,是否支持自定义功能?
还需要进一步测试与Feign一起使用的情况。
......
领取专属 10元无门槛券
私享最新 技术干货