赞
踩
springboot版本:3.2.0
在使用Swagger2的时候会发生项目启动报错
springdoc-openapijava库有助于使用spring引导项目自动生成API文档。springdoc-openapi通过在运行时检查应用程序来根据spring配置、类结构和各种注释推断API语义。
自动生成JSON/YAML和HTML格式API的文档。此文档可以通过使用swaggerapi注释的注释来完成。
此库支持:
OpenAPI 3
Spring boot v3(Java 17和Jakarta EE 9)
JSR-303,专门针对@NotNull、@Min、@Max和@Size。
Swagger ui
OAuth 2
GraalVM本机映像
使用Springdoc替换Swagger2
以后使用可以慢慢调整
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
- @Configuration
- public class SwaggerConfig {
-
-
- @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"));
- }
-
- }
修改springboot的yml配置
- springdoc:
- swagger-ui:
- # 禁止默认路径
- disable-swagger-default-url: true
模块配置(需要可配置,不需要可不配置 )
- @Bean
- public GroupedOpenApi publicApi() {
- return GroupedOpenApi.builder()
- .group("springshop-public")
- .pathsToMatch("/public/**")
- .build();
- }
- @Bean
- public GroupedOpenApi adminApi() {
- return GroupedOpenApi.builder()
- .group("springshop-admin")
- .pathsToMatch("/admin/**")
- .addOpenApiMethodFilter(method -> method.isAnnotationPresent(Admin.class))
- .build();
- }
@Api
→ @Tag
@ApiIgnore
→ @Parameter(hidden = true)
or @Operation(hidden = true)
or @Hidden
@ApiImplicitParam
→ @Parameter
@ApiImplicitParams
→ @Parameters
@ApiModel
→ @Schema
@ApiModelProperty(hidden = true)
→ @Schema(accessMode = READ_ONLY)
@ApiModelProperty
→ @Schema
@ApiOperation(value = "foo", notes = "bar")
→ @Operation(summary = "foo", description = "bar")
@ApiParam
→ @Parameter
@ApiResponse(code = 404, message = "foo")
→ @ApiResponse(responseCode = "404", description = "foo")
测试路径:访问路径+Swagger-ui/index.html
再细化内容可参考Springdoc官方文档。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。