欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot整合Swagger2

程序员文章站 2022-07-02 21:07:01
...
  • Maven依赖
<!-- swagger api -->
   <dependency>
       <groupId>io.springfox</groupId>
       <artifactId>springfox-swagger2</artifactId>
       <version>2.9.2</version>
   </dependency>
   <dependency>
       <groupId>io.springfox</groupId>
       <artifactId>springfox-swagger-ui</artifactId>
       <version>2.9.2</version>
   </dependency>
  • Docket配置
package org.sang.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Value(value = "${springfox.swagger.enable}")
    private boolean swaggerEnable;


    @Bean
    Docket docket() {
        System.out.println("swaggerEnable:" + swaggerEnable);
        return new Docket(DocumentationType.SWAGGER_2)
                .enable(swaggerEnable)
                .select()
                .apis(RequestHandlerSelectors.basePackage("org.sang.controller"))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(new ApiInfoBuilder()
                    .description("SwaggerApi测试文档")
                    .version("v1.0")
                    .title("Api测试文档")
                    .build()
                );
    }

}

  • 让SpringMVC DispatchServlet找到Swagger对应的资源
public class MyWebMvcConfig implements WebMvcConfigurer {
   /**
     * 让DispatchServlet找到Swagger对应的资源
     * 否则:No mapping found for HTTP request with URI [/swagger-ui.html]
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

- 测试
Spring Boot整合Swagger2

相关标签: SpringBoot Swagger

上一篇: Swagger

下一篇: swagger