feiyu02
2025-09-30 6904763f0e74d9a9fa4dbc39f635d2aee39416c6
src/main/kotlin/cn/flightfeather/supervision/config/Swagger2Configuration.kt
@@ -3,9 +3,14 @@
import org.springframework.beans.factory.annotation.Value
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.http.HttpMethod
import springfox.documentation.builders.ApiInfoBuilder
import springfox.documentation.builders.PathSelectors
import springfox.documentation.builders.RequestHandlerSelectors
import springfox.documentation.oas.annotations.EnableOpenApi
import springfox.documentation.schema.ModelReference
import springfox.documentation.service.Header
import springfox.documentation.service.Response
import springfox.documentation.spi.DocumentationType
import springfox.documentation.spring.web.plugins.Docket
import springfox.documentation.swagger2.annotations.EnableSwagger2
@@ -15,8 +20,10 @@
 * Date: 2020/8/28
 */
@Configuration
@EnableSwagger2
class Swagger2Configuration {
@EnableOpenApi
class Swagger2Configuration(
    @Value("\${springfox.documentation.swagger.v2.enabled}") var swagger2Enable: Boolean,
) {
    companion object {
        const val SWAGGER_SCAN_BASE_PACKAGE = "cn.flightfeather.supervision"
@@ -24,24 +31,21 @@
        const val VERSION = "1.0.0"
    }
    @Value("\${springfox.documentation.swagger.v2.enabled}")
    private val swagger2Enable: Boolean = true
    @Bean
    fun createRestApi(): Docket =
            Docket(DocumentationType.SWAGGER_2)
                    .enable(swagger2Enable)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
                    .paths(PathSelectors.any())
                    .build()
        Docket(DocumentationType.OAS_30)
            .enable(swagger2Enable)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
            .paths(PathSelectors.any())
            .build()
    private fun apiInfo() =
            ApiInfoBuilder()
                    .title("飞羽智能环境服务")
                    .description("飞羽智能环境服务 API 接口文档")
                    .version(VERSION)
                    .build()
        ApiInfoBuilder()
            .title("飞羽智能环境服务")
            .description("飞羽智能环境服务 API 接口文档")
            .version(VERSION)
            .build()
}