参数名称 |
默认值 |
描述 |
---|---|---|
springdoc.swagger-ui.path |
/swagger-ui.html |
String,用于 swagger-ui HTML 文档的自定义路径。 |
springdoc.swagger-ui.enabled |
true |
Boolean.禁用 swagger-ui 端点(默认情况下为 /swagger-ui.html)。 |
springdoc.swagger-ui.configUrl |
/v3/api-docs/swagger-config |
String.要从中获取外部配置文档的 URL。 |
springdoc.swagger-ui.layout |
BaseLayout |
String.通过插件系统提供的组件的名称,用作 Swagger UI 的顶级布局。 |
添加了import io.swagger.v3.oas.annotations.Hidden;导入语句
在类级别添加了@Hidden注解
@Hidden注解的作用是:
隐藏整个@RestControllerAdvice类,使其不会出现在生成的OpenAPI文档中
这样可以解决Spring Boot 3.4.8版本中ControllerAdviceBean构造函数变更导致的兼容性问题
依赖:
<springdoc.version>2.6.0</springdoc.version>
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>${springdoc.version}</version> </dependency>
可以根据路径指定多个:(基本不会用)
@Bean public Docket publicApi() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("org.github.springshop.web.public")) .paths(PathSelectors.regex("/public.*")) .build() .groupName("springshop-public") .apiInfo(apiInfo()); } @Bean public Docket adminApi() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("org.github.springshop.web.admin")) .paths(PathSelectors.regex("/admin.*")) .apis(RequestHandlerSelectors.withMethodAnnotation(Admin.class)) .build() .groupName("springshop-admin") .apiInfo(apiInfo()); }
基本配置
@Bean public OpenAPI springShopOpenAPI() { return new OpenAPI() .info(new Info().title("SpringShop API") .description("Spring shop sample application") .version("v0.0.1") .license(new License().name("Apache 2.0").url("http://springdoc.org"))) .externalDocs(new ExternalDocumentation() .description("SpringShop Wiki Documentation") .url("https://springshop.wiki.github.org/docs")); }
或者主类添加注解:
@OpenAPIDefinition(info = @Info(title = "Sea 聊天 API 服务 ", version = "20250806", description = "聊天后台服务"))