kotlin spring boot 配置 swagger

目录

在这里插入图片描述

swagger 依赖

compile("io.springfox:springfox-swagger-ui:2.8.0")
compile("io.springfox:springfox-swagger2:2.8.0")
compile("javax.xml.bind:jaxb-api:2.3.0")

支付依赖

compile("com.alipay.sdk:alipay-sdk-java:3.3.49.ALL")
compile("net.sf.json-lib:json-lib:2.4:jdk15")

spring boot web 依赖

compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-thymeleaf")

kotlin 代码

package com.deom

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import springfox.documentation.builders.ApiInfoBuilder
import springfox.documentation.builders.PathSelectors
import springfox.documentation.builders.RequestHandlerSelectors
import springfox.documentation.service.ApiInfo
import springfox.documentation.spi.DocumentationType
import springfox.documentation.spring.web.plugins.Docket
import springfox.documentation.swagger2.annotations.EnableSwagger2

@EnableSwagger2
@SpringBootApplication
class BlogApplication

fun main(args: Array<String>) {
    runApplication<BlogApplication>(*args)
}

@Configuration
class SwaggerConfig {
    @Bean
    fun createRestApi(): Docket {
        return Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com"))
                .paths(PathSelectors.any())
                .build()
    }

     fun apiInfo(): ApiInfo {
        return ApiInfoBuilder()
                .title("springboot利用swagger构建api文档")
                .description("简单优雅的restfun风格")
                .termsOfServiceUrl("http://www.baidu.com")
                .version("1.0")
                .build()
    }
}

kotlin 父级脚本

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    val kotlinVersion = "1.3.10"
    val springBootVersion = "2.0.5.RELEASE"
    kotlin("jvm") version kotlinVersion
    kotlin("plugin.spring") version kotlinVersion
    id("org.springframework.boot") version springBootVersion
}

repositories {
    mavenLocal()
    jcenter()
}

subprojects {
    apply {
        plugin("kotlin")
        plugin("org.jetbrains.kotlin.plugin.spring")
        plugin("org.springframework.boot")
        plugin("io.spring.dependency-management")
    }

    tasks.withType<KotlinCompile> {
        kotlinOptions {
            jvmTarget = "1.8"
            freeCompilerArgs = listOf("-Xjsr305=strict")
        }
    }

    repositories {
        mavenLocal()
        jcenter()
    }

    dependencies {
        compile(kotlin("stdlib-jdk8"))
        compile(kotlin("reflect"))
    }
}

kotlin 子级脚本

dependencies {
    compile("com.alipay.sdk:alipay-sdk-java:3.3.49.ALL")
    compile("net.sf.json-lib:json-lib:2.4:jdk15")
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-thymeleaf")
    compile("io.springfox:springfox-swagger-ui:2.8.0")
    compile("io.springfox:springfox-swagger2:2.8.0")
    compile("javax.xml.bind:jaxb-api:2.3.0")
    testCompile("org.springframework.boot:spring-boot-starter-test")
}

猜你喜欢

转载自blog.csdn.net/weixin_43113795/article/details/85057981