之前写过一篇文章: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类型,这样,对于会造成代码的可读性会大大降低,而且文档自动生成,也没什么意义。

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

  1. spring boot rest接口自动生成文档(包含swagger)

    spring boot rest接口自动生成文档(包含swagger)      写接口免不了写接口文档,但是当文档与代码分开独立演进的时候,会发生很多不同步的问题.         接口描述与代码同 ...

  2. java接口废弃注释_Spring Boot如何让Web API自动生成文档,并解决swagger-annotations的API注解description属性废弃的问题...

    前后端分离的系统架构中,前端开发人员需要查看后端WEB API的文档来进行开发.采用后端API文档自动生成的方式,可以大幅提高开发效率.swagger是一个被广泛使用的文档自动生成工具,可以与多种编程 ...

  3. java如何写安卓接口文档_android、java制作sdk以及自动生成文档

    最近一直在做android开发,昨天经理让我写个接口SDK做个接口文档,以便后面的开发. 这让我很焦灼,SDK怎么做?要是只有敲代码还好.可是那个接口文档!!!文档这东西最讨厌了,头都大了 后来查了下 ...

  4. Java使用smart-doc自动生成文档

    作为后端开发,写接口文档一直是一个很头痛的问题,今天推荐一个开源工具smart-doc,这个工具基于java原生的注释生成api文档,无需大量的注解配合使用. 官方地址:https://gitee.c ...

  5. java动态生成sdk_android、java制作sdk以及自动生成文档

    最近一直在做android开发,昨天经理让我写个接口SDK做个接口文档,以便后面的开发. 这让我很焦灼,SDK怎么做?要是只有敲代码还好.可是那个接口文档!!!文档这东西最讨厌了,头都大了 后来查了下 ...

  6. 【飞书应用】自动生成文档

    飞书开放平台 飞书开放平台,里面有关于飞书提供的一些供开发者使用的api,可以用来开发飞书的自定义应用,本次使用里面文档相关的api来自动生成文档 创建飞书应用 可以根据飞书官方文档,创建飞书应用,本 ...

  7. Matlab联合wps的API生成文档,让API自动生成文档

    原标题:让API自动生成文档 程序员最苦恼的事情莫过于写文档.由于业务口径频繁变更,因此很多接口也会频繁变更,频繁变更导致文档的维护是一件相当费时的事情,当优先级更高的事情袭来,更新文档反到成了次要工 ...

  8. Objective-C自动生成文档工具:appledoc

    作者 iOS_小松哥 关注 2016.12.13 15:47* 字数 919 阅读 727评论 10喜欢 35 由于最近琐事比较多,所以好久没有写文章了.今天我们聊一聊Objective-C自动生成文 ...

  9. Objective-C 自动生成文档工具:appledoc

    来源:iOS_小松哥 www.jianshu.com/p/fd4d8d6b6177 如有好文章投稿,请点击 → 这里了解详情 由于最近琐事比较多,所以好久没有写文章了.今天我们聊一聊Objective ...

最新文章

  1. Java设计模式(备忘录模式-解释器模式-状态模式-策略模式-职责链模式)
  2. 数学建模学习笔记——灰色关联分析(评价类)
  3. oracle executesqlcommand,Oracle Execute Command Sql Script in Win
  4. 自定义对话框 提示:Unable to add window token null is not for an application
  5. 航测大数据量处理_揭秘航测局“航空摄影质量自动检查系统”的“黑科技”
  6. Call for Papers | ACCV 2022在澳门等你
  7. 在Azure Cloud Service中部署Java Web App(1)
  8. java addbatch_使用addBatch java时丢失数据
  9. 【poj2373】Dividing the Path【单调队列优化dp】
  10. 觉得做人累了就看看这些!不是社会错了,是你错了!写的超好!
  11. Atitit 学习方法 -------体系化学习方法 Excel 科目,分类,专业 三级分类。。 知识点。。 课程就是每一个知识点的详细化。。 比如经济学 类别 专业 xx概论知识点 3、金
  12. 202206-2 寻宝!大冒险! CCF认证真题
  13. python就业班-淘宝-目录.txt
  14. Openwrt:icmpv6_send: no reply to icmp error
  15. ENVI哨兵一号数据处理
  16. python招聘-的python招聘
  17. 史蒂芬·埃洛普本纪:代号 Trojan.Win32.Elop
  18. 快速入门github网站,了解GitHub网站的基本使用
  19. 使用certbot获取 Let‘s Encrypt CA证书
  20. Win11安装Ubuntu子系统报错WslRegisterDistribution failed with error: 0x800701bc

热门文章

  1. 计算机毕设Python+Vue药店管理系统(程序+LW+部署)
  2. CSS中精灵图的使用
  3. [容斥原理][Meet-in-middle][Matrix-Tree定理] SRM551 Div1 Hard SweetFruits
  4. Win10 新建文件夹或者删除文件夹不自动刷新的问题
  5. 《留美秘籍:专家教你上美国名校》一一、大学排名背后的“故事”
  6. ThinkPHP6.1 Filesystem 替换方案
  7. 【乱谈】给过去的告别
  8. 通过循环按行顺序为一个 5×5 的二维数组 a 赋 1 到 25 的自 然数,然后输出该数组的左下半三角
  9. 使用TensorFlow编程实现一元逻辑回归
  10. cookie设置时间倒计时