diff --git a/modules/openapi-generator/src/main/resources/kotlin-spring/springfoxDocumentationConfig.mustache b/modules/openapi-generator/src/main/resources/kotlin-spring/springfoxDocumentationConfig.mustache deleted file mode 100644 index 5e667f2ac80e..000000000000 --- a/modules/openapi-generator/src/main/resources/kotlin-spring/springfoxDocumentationConfig.mustache +++ /dev/null @@ -1,67 +0,0 @@ -package {{basePackage}} - -import org.springframework.beans.factory.annotation.Value -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Configuration -import org.springframework.web.util.UriComponentsBuilder -import springfox.documentation.builders.ApiInfoBuilder -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.paths.Paths -import springfox.documentation.spring.web.paths.RelativePathProvider -import springfox.documentation.spring.web.plugins.Docket -import springfox.documentation.swagger2.annotations.EnableSwagger2 -import {{javaxPackage}}.servlet.ServletContext - - -{{>generatedAnnotation}} - -@Configuration -@EnableSwagger2 -class SpringFoxConfiguration { - - fun apiInfo(): ApiInfo { - return ApiInfoBuilder() - .title("{{appName}}") - .description("{{{appDescription}}}") - .license("{{licenseInfo}}") - .licenseUrl("{{licenseUrl}}") - .termsOfServiceUrl("{{infoUrl}}") - .version("{{appVersion}}") - .contact(Contact("", "", "{{infoEmail}}")) - .build() - } - - @Bean -{{=<% %>=}} - fun customImplementation(servletContext: ServletContext, @Value("\${openapi.<%title%>.base-path:\${api.base-path:<%>defaultBasePath%>}}") basePath: String): Docket { -<%={{ }}=%> - return Docket(DocumentationType.SWAGGER_2) - .select() - .apis(RequestHandlerSelectors.basePackage("{{apiPackage}}")) - .build() - .pathProvider(BasePathAwareRelativePathProvider(servletContext, basePath)) - .directModelSubstitute(java.time.LocalDate::class.java, java.sql.Date::class.java) - .directModelSubstitute(java.time.OffsetDateTime::class.java, java.util.Date::class.java) - .apiInfo(apiInfo()) - } - - class BasePathAwareRelativePathProvider(servletContext: ServletContext, private val basePath: String) : - RelativePathProvider(servletContext) { - - override fun applicationPath(): String { - return Paths.removeAdjacentForwardSlashes( - UriComponentsBuilder.fromPath(super.applicationPath()).path(basePath).build().toString() - ) - } - - override fun getOperationPath(operationPath: String): String { - val uriComponentsBuilder = UriComponentsBuilder.fromPath("/") - return Paths.removeAdjacentForwardSlashes( - uriComponentsBuilder.path(operationPath.replaceFirst("^$basePath", "")).build().toString() - ) - } - } -}