spring boot rest接口自动生成文档(包含swagger)--gradle 下的配置

    之前写过一篇文章:spring boot rest接口自动生成文档(包含swagger),这个使用的是maven作为依赖管理工具,现在,让我们体验一下gradle在spring boot项目中如何配置的:

    插件配置:

plugins {
    id 'io.franzbecker.gradle-lombok' version '1.13'
    id "com.webcohesion.enunciate" version "2.10.1"
}

 一般情况下lombok插件和enunciate一起使用,为了让lombok的类也能在此插件下生成文档,我们还必须配置一gradle脚本所需要的插件下(此插件官方提供了新的支持见https://github.com/stoicflame/enunciate/wiki/Lombok):

dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath 'com.webcohesion.enunciate:enunciate-lombok:2.10.1'

    }

    

为了编译的时候,自动生成文档,且服务启动时,作为静态网页访问,我们还需要配置一下生成的文档路径:

tasks.enunciate {
    File enunciateDistDir = file("src/main/resources/static/docs/api")
    doFirst {
        project.delete("build/enunciate")
        enunciateDistDir.deleteDir()
        enunciateDistDir.mkdirs()
    }
    export("docs", enunciateDistDir)
}


assemble {
    doFirst {
        enunciate.execute()
    }
}

此任务:

tasks.enunciate {
    File enunciateDistDir = file("src/main/resources/static/docs/api")
    doFirst {
        project.delete("build/enunciate")
        enunciateDistDir.deleteDir()
        enunciateDistDir.mkdirs()
    }
    export("docs", enunciateDistDir)
}

是为了把文档copy到spring boot约定的目录下。


此任务:

assemble {
    doFirst {
        enunciate.execute()
    }
}

是为了gradle build 的时候自动执行自动文档copy任务。



 就这么简单,和maven插件一样,用起来也都很方便。


具体例子:见https://github.com/sdcuike/gradle-learning/tree/enunciate文档自动生成-集成lombok


注意:为了让文档生成的更好,我们建议多使用java doc写文档,方法参数和返回值,要用具体的类型或泛型,这样生成的文档才具有实用价值,如果你的java知识还停留在java支持泛型以前,可能参数或者返回值大多是Object类型或map类型,这样,对于会造成代码的可读性会大大降低,而且文档自动生成,也没什么意义。



    


猜你喜欢

转载自blog.csdn.net/doctor_who2004/article/details/80086522