Is there a way I can stop springfox swagger from scanning the model classes?

后端 未结 3 1015
小鲜肉
小鲜肉 2021-01-05 08:38

I\'m currently using Springfox Swagger to document my spring boot application with a Java config. My API starts in about 75 seconds, (it was originally 20 secs without Sprin

3条回答
  •  爱一瞬间的悲伤
    2021-01-05 09:27

    There is a way to prevent Sprinfox framework from generating a Swagger model or parameter information of specified ignored types. You have to use the method ignoredParameterTypes in SwaggerSpringMvcPlugin or Docket class to let it know the types to be ignored.

    Swagger 1 Example

    Here is an example of Swagger 1 Java configuration with ignored types. It definitely had an impact on my application startup time.

    @Configuration
    @EnableSwagger
    public class SwaggerConfiguration {
    
        @Autowired
        private SpringSwaggerConfig springSwaggerConfig;
    
        @Bean
        public SwaggerSpringMvcPlugin api() {
            Class[] clazz = {MyClassA.class, MyClassB.class};
    
            return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
                    .apiInfo(apiInfo())
                    ...
                    .ignoredParameterTypes(clazz);
        }
    
         private ApiInfo apiInfo() {
             ...
         }
    }
    

    Swagger 2 Example

    Here is an example of Swagger 2 Java configuration with ignored types,

    @Configuration
    @EnableSwagger2
    public class SwaggerConfiguration {
    
        @Bean
        public Docket api() {
            Class[] clazz = {MyClassA.class, MyClassB.class};
    
            return new Docket(DocumentationType.SWAGGER_2)
                    .groupName("my-group")
                    .select()
                    .paths(PathSelectors.any())
                    .build()
                    .apiInfo(apiInfo())
                    .ignoredParameterTypes(clazz);
        }
    
         private ApiInfo apiInfo() {
             ...
         }
    }
    

提交回复
热议问题