一、介绍 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 是基于 Spring Data 的 repository 之上的,所以我们在 JPA 操作数据的代码基础上完成。
配置好 JPA 数据源 创建 Article 实体类 创建 ArticleRepository 接口不需要去创建并手写 Service 层和 Controller 层,将由 Spring Data REST 帮我们自动完成。
三、实现 rest 接口的最快方式
通过 maven 坐标引入 Spring Data REST
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
在 JPA(mogodb 等)Repository 接口上面加上 RepositoryRestResource 注解,path 是 Rest 接口资源的基础访问路径。
@RepositoryRestResource(path="articles") //就是这一行神奇的代码,甚至这一行都可以不写
public interface ArticleRepository extends JpaRepository<Article,Long> {
}
就简单的这样一个实现,Spring Data Rest 就可以基于 article 资源,生成一套 GET、PUT、POST、DELETE 的增删改查的 REST 接口,并对外提供服务。如下图:
Swagger3-OpenAPI 使用
整合 springdoc-openapi 在 pom.xml 里面去掉 springfox,添加如下的 openapi 依赖。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.4.0</version>
</dependency>
将 API 分组分组展示
@Configuration
public class OpenAPIConfig {
@Bean
public GroupedOpenApi restApi() {
return GroupedOpenApi.builder()
.group("rest-api")
.pathsToMatch("/rest/**")
.build();
}
@Bean
public GroupedOpenApi helloApi() {
return GroupedOpenApi.builder()
.group("hello")
.pathsToMatch("/hello/**")
.build();
}
}
源码地址 https://github.com/weidaijie1/SpringBootStudy/tree/master/SpringBootJpaRestful
参考地址:https://www.kancloud.cn/hanxt/springboot2/1814460
作者:离人怎挽_wdj
来源链接:
https://www.cnblogs.com/weidaijie/p/14376942.html