有没有办法可以阻止springfox swagger扫描模型类?

kug*_*gar 5 spring swagger spring-boot springfox

我目前正在使用Springfox Swagger通过Java配置来记录我的spring启动应用程序.在整个扫描过程中,我的API在大约75秒内启动(最初是20秒,没有Springfox).我目前只需要控制器信息而无需任何型号信息.有没有办法可以从启动过程中排除模型扫描,以使我的API启动更快?还有其他方法可以让它更快吗?我正在使用swagger 1.2

Ind*_*sak 8

有一种方法可以防止Sprinfox框架生成Swagger模型或指定的忽略类型的参数信息。你必须使用的方法ignoredParameterTypesSwaggerSpringMvcPluginDocket类,让它知道被忽视的类型。

昂首阔步1例子

这是带有忽略类型的Swagger 1 Java配置示例。它肯定对我的应用程序启动时间有影响。

@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() {
         ...
     }
}
Run Code Online (Sandbox Code Playgroud)

昂首阔步2示例

这是带有忽略类型的Swagger 2 Java配置示例,

@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() {
         ...
     }
}
Run Code Online (Sandbox Code Playgroud)