spring-boot-axon-demo/src/main/kotlin/com/cubetiqs/demo/axon/config/SwaggerConfiguration.kt

44 lines
1.5 KiB
Kotlin
Raw Normal View History

2020-08-21 11:04:39 +07:00
package com.cubetiqs.demo.axon.config
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
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
import java.util.Collections
2020-08-21 12:21:39 +07:00
import java.util.concurrent.CompletableFuture
2020-08-21 11:04:39 +07:00
@Configuration
@EnableSwagger2
class SwaggerConfiguration {
@Bean
fun apiDocket(): Docket {
2020-08-21 12:21:39 +07:00
val ignoreClasses = arrayListOf(CompletableFuture::class.java).toTypedArray()
2020-08-21 11:04:39 +07:00
return Docket(DocumentationType.SWAGGER_2)
.select()
.apis(
RequestHandlerSelectors
.basePackage("com.cubetiqs.demo.axon")
)
.paths(PathSelectors.any())
.build()
2020-08-21 12:21:39 +07:00
.ignoredParameterTypes(*ignoreClasses)
2020-08-21 11:04:39 +07:00
.apiInfo(apiInfo)
}
private val apiInfo: ApiInfo
get() = ApiInfo(
"Spring Boot + Axon Demo",
"Axon Project Demo (Event Sourcing, DDD and CQRS)",
"0.0.1-SNAPSHOT",
"Terms of Service",
Contact("Sambo Chea", "https://cs.cubetiqs.com", "sombochea@cubetiqs.com"),
"MIT",
"",
Collections.emptyList()
)
}