032-Spring Data REST

Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源。目前Spring Data REST支持将Spring Data JPA、Spring Data MongoDB、Spring Data Neo4j、Spring Data Gemfire以及Spring Data Cassandra的Repository自动转换成REST服务。


简单点说,Spring Data REST把我们需要编写的大量REST模版接口做了自动化实现。


在Spring boot中使用Spring Data REST只需引入spring-boot-starter-data-rest的依赖,无须任何配置即可使用。


首先,新建一个项目,


首先在项目里面建一个实体类,对应数据库的SYS_USER表,表里只有id和name两个字段:


然后新建一个jpa接口,

注意:此jia接口的写法和前面jpa文章里面的一模一样,唯一不同是注解使用了@RepositoryRestResource ,在注解中定义了path参数,这些在转化成rest接口的时候会用到。


上面两个简单的代码已经实现了SysUser实体类的RESTFul风格的所有接口。


在数据中加入三个数据:

查询

项目端口号为8032,用户的jpa的path为users,那么访问/users就可以查到所有的用户,如下:


分页查询

加上参数可以实现分页,比如每页一条数据,查第二页,连接为 /users?page=1&size=1(分页页码从0开始):


可以看到我们只写了一个实体类和一个jpa接口,就帮我们实现了restful接口的查询。并且分页中还附带首页尾页上一页下一页的连接。


新增数据

Spring Data REST的功能还不止如此,下面展示新增方法,链接为/users,接口调用如下:

可以看到直接输入属性就可以增加一个用户,

根据id查询

返回的新增用户信息带一个连接,后面跟的是新用户的id,可以推测出根据id查询用户的连接是/users/id:


排序

排序查询的连接为:/users?sort=字段名,desc/asc,如下:


更新

更新操作与新增操作类似,不过参数中要带上主键:

数据库中变为:

或者使用put访问:

数据库中变为:


根据id删除数据

删除数据使用delete形式:

查看数据库:

数据已被删除。




自定义查询方法

在jpa接口中定义一个根据name查询的方法:

注意,此处使用的注解为@RestResource,path参数为name,表示路径为name,接口调用如下:

可以看到,users后面跟了一个search,然后是定义的path,后面是name参数,自定义查询的路径要注意。



模糊查询

自定义模糊查询,查询以参数name为靠头的name字段的表数据,自定义方法如下:

根据注解,查询链接为  /users/search/nameStartsWith?name=参数,如下:

这就是简单的模糊查询。



以上就是springboot整合spirng data rest 的简单使用。



代码地址: https://gitee.com/blueses/spring-boot-demo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容