spring boot 2.7 集成 swagger 3

spring boot 2.7 集成 swagger 3
记录一下

  1. 依赖
    spring boot 版本 2.7.3
 		<dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-boot-starterartifactId>
            <version>3.0.0version>
        dependency>
  1. 配置文件,生产环境关闭,测试环境开启
springfox:
  documentation:
    enabled: true
  1. 配置 SwaggerConfig
@EnableOpenApi
@Configuration
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30)
            .apiInfo(apiInfo())
            .groupName("Normal")
            .enable(true)
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.tcoding.demo.helloworld.controller"))
            .paths(PathSelectors.any())
            .build()
            .pathMapping("/");
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            //标题
            .title("Spring Boot中使用Swagger3构建RESTful APIs")
            //简介
            .description("")
            //服务条款
            .termsOfServiceUrl("")

            //作者个人信息
            .contact(new Contact("tc", "", "[email protected]"))
            //版本
            .version("1.0").build();
    }
}



spring MVC配置。不配这个起不来,就翻了一下swagger的代码

@Configuration
public class SpringMmcConfig extends DelegatingWebMvcConfiguration {

}

spring.factories 文件内容是,自动引入 OpenApiAutoConfiguration 配置类
在这里插入图片描述

OpenApiAutoConfiguration 引入 SwaggerUiWebMvcConfigurationspring boot 2.7 集成 swagger 3_第1张图片
SwaggerUiWebMvcConfiguration 注入了 SwaggerUiWebMvcConfigurer

spring boot 2.7 集成 swagger 3_第2张图片
SwaggerUiWebMvcConfigurer里面设置静态资源路径
spring boot 2.7 集成 swagger 3_第3张图片

SwaggerUiWebMvcConfiguration 里面初始化的bean 在 DelegatingWebMvcConfiguration里用到了

spring boot 2.7 集成 swagger 3_第4张图片

如果不使用

@Configuration
public class SpringMmcConfig extends DelegatingWebMvcConfiguration {

}

这个配置,则资源静态化配置不生效

源码连接

https://github.com/googalAmbition/hello-spring-boot/tree/main/04-swagger
3的访问地址是: /swagger-ui/index.html
2的访问地址是 : /swagger-ui.html

你可能感兴趣的:(Swagger,springboot,spring,boot,spring,java,swagger)