私は現在、Springfox Swaggerを使用して、Javaconfig。APIは約75秒(Springfoxなしでは元々20秒)でスキャンプロセス全体を開始します)でSpringBootアプリケーションを文書化します。現在、モデル情報なしでコントローラー情報が必要です。APIの起動を高速化するために、起動プロセスからモデルスキャンを除外する方法はありますか?また、高速化する他の方法はありますか?Swaggerを使用しています1.2
Sprinfoxフレームワークが指定された無視されたタイプのSwaggerモデルまたはパラメーター情報を生成しないようにする方法があります。 ignoredParameterTypes
またはSwaggerSpringMvcPlugin
クラスのメソッドDocket
を使用して、無視するタイプを通知する必要があります。
これは、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() {
...
}
}
これはSwagger2の例です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() {
...
}
}