SpringFox Docket per controller not working in spring boot

前端 未结 2 930
忘了有多久
忘了有多久 2020-12-18 16:24

In my spring boot application, I have multiple Rest Controllers and need to generate swagger for each controller seperately.

By using below Docket config for each co

2条回答
  •  鱼传尺愫
    2020-12-18 17:03

    You can add multiple controller class using following Swagger Configuration:

    1) Create a Swagger Configuration Class.

    2) Then specify the base package of controllers.

    import java.util.Collections;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import com.google.common.base.Predicate;
    import com.google.common.base.Predicates;
    
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.service.Contact;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    @Configuration
    @EnableSwagger2
    public class SwaggerConfig
    {
    
      private static final ApiInfo DEFAULT_API_INFO = null; //Swagger info
    
      @Bean
      public Docket api() 
      {
        return new Docket(DocumentationType.SWAGGER_2)
                .forCodeGeneration(Boolean.TRUE)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.user.controller"))
                .paths(PathSelectors.any())
                .paths(Predicates.not(PathSelectors.regex("/logout.*")))
                .build()
                .apiInfo(apiInfo());
    }
    
    private ApiInfo apiInfo() {
         return new ApiInfo(
           "REST API", 
           "REST description of API.", 
           "API TOS", 
           "Terms of service", 
           new Contact("Rajib Garai", "https://www.linkedin.com/in/rajibgarai90/", "90rajibgarai@gmail.com"), 
           "License of API", "API license URL", Collections.emptyList());
    }
    }
    

提交回复
热议问题