Example of an API documented with Swagger in Kotlin and Spring Boot.
$ mvn clean install -DskipTests
<repositories>
<repository>
<id>jcenter-snapshots</id>
<name>jcenter</name>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
@Configuration
@EnableSwagger2
class SwaggerConfig {
companion object {
private const val PACKAGE = "br.com.lucasguiss.kotlinswaggerapi"
private const val TITLE = "Kotlin API"
private const val DESCRIPTION = "Example of a Kotlin API documented with Swagger"
private const val VERSION = "1.0"
}
@Bean
fun initApiDoc(): Docket {
return Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors.basePackage(PACKAGE))
.build()
.apiInfo(metaInfo())
}
private fun metaInfo(): ApiInfo {
return ApiInfoBuilder()
.title(TITLE)
.description(DESCRIPTION)
.version(VERSION)
.build()
}
}