Spring Boot2 系列教程(三十一)Spring Boot 构建 RESTful 风格应用 (3)

如果不想暴露官方定义好的方法,例如根据 id 删除数据,只需要在自定义接口中重写该方法,然后在该方法上加 @RestResource 注解并且配置相关属性即可。

public interface BookRepository extends JpaRepository<Book, Long> { @RestResource(rel = "byauthor",path = "byauthor") List<Book> findBookByAuthorContaining(@Param("author") String author); @Override @RestResource(exported = false) void deleteById(Long aLong); }

另外生成的 JSON 字符串中的集合名和单个 item 的名字都是可以自定义的:

@RepositoryRestResource(collectionResourceRel = "bs",itemResourceRel = "b",path = "bs") public interface BookRepository extends JpaRepository<Book, Long> { @RestResource(rel = "byauthor",path = "byauthor") List<Book> findBookByAuthorContaining(@Param("author") String author); @Override @RestResource(exported = false) void deleteById(Long aLong); }

path 属性表示请求路径,请求路径默认是类名首字母小写+s,可以在这里自己重新定义。

Spring Boot2 系列教程(三十一)Spring Boot 构建 RESTful 风格应用

其他配置

最后,也可以在 application.properties 中配置 REST 基本参数:

spring.data.rest.base-path=http://www.likecs.com/api spring.data.rest.sort-param-name=sort spring.data.rest.page-param-name=page spring.data.rest.limit-param-name=size spring.data.rest.max-page-size=20 spring.data.rest.default-page-size=0 spring.data.rest.return-body-on-update=true spring.data.rest.return-body-on-create=true

配置含义,从上往下,依次是:

给所有的接口添加统一的前缀

配置排序参数的 key ,默认是 sort

配置分页查询时页码的 key,默认是 page

配置分页查询时每页查询页数的 key,默认是size

配置每页最大查询记录数,默认是 20 条

分页查询时默认的页码

更新成功时是否返回更新记录

添加成功时是否返回添加记录

总结

本文主要向大家介绍了 Spring Boot 中快速实现一个 RESTful 风格的增删改查应用的方案,整体来说还是比较简单的,并不难。相关案例我已上传到 GitHub 上了,小伙伴可以自行下载:https://github.com/lenve/javaboy-code-samples。

关于本文,有问题欢迎留言讨论。

扫码关注松哥,公众号后台回复 2TB,获取松哥独家 超2TB 免费 Java 学习干货

Spring Boot2 系列教程(三十一)Spring Boot 构建 RESTful 风格应用

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygdyd.html