JDK17 + SpringBoot3.2.2
- 引入依赖
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>
现在已经可以使用,访问 http://127.0.0.1:8080/swagger-ui.html
为了接口的便于管理,可以为接口进行分组。
- 配置 SwaggerConfig.java
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SwaggerConfig {
/**
* 接口文档的基本信息
* @return
*/
@Bean
public OpenAPI springAclOpenApi() {
return new OpenAPI()
.info(new Info().title("service-acl API")
.version("v1"));
}
/**
* 对每一类接口分组管理
* @return
*/
@Bean
public GroupedOpenApi adminApi() {
return GroupedOpenApi.builder()
.group("用户管理")
.pathsToMatch("/admin/acl/user/**")
.build();
}
@Bean
public GroupedOpenApi adminRoleApi() {
return GroupedOpenApi.builder()
.group("用户角色管理")
.pathsToMatch("/admin/acl/admin_role/**")
.build();
}
@Bean
public GroupedOpenApi permissionApi() {
return GroupedOpenApi.builder()
.group("权限管理")
.pathsToMatch("/admin/acl/permission/**")
.build();
}
@Bean
public GroupedOpenApi roleApi() {
return GroupedOpenApi.builder()
.group("角色管理")
.pathsToMatch("/admin/acl/role/**")
.build();
}
@Bean
public GroupedOpenApi rolePermissionApi() {
return GroupedOpenApi.builder()
.group("角色权限管理")
.pathsToMatch("/admin/acl/role_permission/**")
.build();
}
}
- 注解的基本使用
@Tag(name=“用户管理”) 使用在Controller上
@Operation(summary = “条件分页查询”) 使用在接口上