032-Spring Data REST

作者: 郭艺宾 | 来源:发表于2018-07-09 14:55 被阅读105次

    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

    相关文章

      网友评论

        本文标题:032-Spring Data REST

        本文链接:https://www.haomeiwen.com/subject/ihftpftx.html