当前位置: 首页 > article >正文

SpringBoot(二十二)SpringBoot集成smart-doc自动生成文档

计划在项目中集成swagger日志框架,经过一顿折腾,发现一个小小的问题。我得springboot框架版本是2.6.13,swagger要匹配这个版本的springboot可能比较麻烦。

这可如何是好……

经跟社区的大神得讨论,他在用的文档生成工具是smart-doc。我尝试一下集成这个工具。

官网:https://smart-doc-group.github.io/

一:添加插件依赖

<!--api文档  begin-->
<plugin>
    <groupId>com.github.shalousun</groupId>
    <artifactId>smart-doc-maven-plugin</artifactId>
    <version>2.3.5</version>
    <configuration>
        <!--指定生成文档的使用的配置文件,配置文件放在自己的项目中-->
        <configFile>${basedir}/src/main/resources/smart-doc.json</configFile>
        <!--指定项目名称-->
        <projectName>smart-doc文档</projectName>
        <!--smart-doc实现自动分析依赖树加载第三方依赖的源码,如果一些框架依赖库加载不到导致报错,这时请使用excludes排除掉-->
        <excludes>
            <!--也可以支持正则式如:com.alibaba:.* -->
            <exclude>commons-jxpath:.*</exclude>
            <exclude>io.zipkin.brave:.*</exclude>
            <exclude>org.apache.kafka:.*</exclude>
            <exclude>org.springframework.kafka:.*</exclude>
            <exclude>com.netflix.servo:.*</exclude>
        </excludes>
        <!--includes配置用于配置加载外部依赖源码,配置后插件会按照配置项加载外部源代码而不是自动加载所有,因此使用时需要注意-->
        <!--smart-doc能自动分析依赖树加载所有依赖源码,原则上会影响文档构建效率,因此你可以使用includes来让插件加载你配置的组件-->
        <includes>
            <!--格式为:groupId:artifactId;参考如下-->
            <!--也可以支持正则式如:com.alibaba:.* -->
            <include>com.alibaba:fastjson</include>
        </includes>
    </configuration>
    <executions>
        <execution>
            <!--如果不需要在执行编译时启动smart-doc,则将phase注释掉-->
            <!-- <phase>compile</phase>-->
            <goals>
                <!--smart-doc提供了html、openapi、markdown等goal,可按需配置-->
                <goal>html</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<!--api文档  end-->

二:创建配置文件smart-doc.json

{
  "serverUrl": "http://127.0.0.1",//指定后端服务访问地址
  "outPath": "src/main/resources/static/doc/api",//指定文档的输出路径,生成到项目静态文件目录下,随项目启动可以查看
  "isStrict": false,//是否开启严格模式
  "allInOne": true,//是否将文档合并到一个文件中
  "createDebugPage": false,//是否创建可以测试的html页面
  "packageFilters": "com.xxxx.aio.controller.WorkbenchController", //controller包过滤

http://www.kler.cn/a/394227.html

相关文章:

  • 论文翻译 | The Capacity for Moral Self-Correction in Large Language Models
  • Windows C++ TCP/IP 两台电脑上互相传输字符串数据
  • 2024年11月12日Github流行趋势
  • 基于Python的网上银行综合管理系统
  • C++《继承》
  • 论文解析:边缘计算网络中资源共享的分布式协议(2区)
  • gorm使用注意事项
  • 轮转数组
  • 旅行照片 4.0 问题三、四
  • 【自用】0-1背包问题与完全背包问题的Java实现
  • 视频横屏转竖屏播放-使用人脸识别+目标跟踪实现
  • [自然语言处理] [AI]深入理解语言与情感分类:从基础到深度学习的进展
  • Unity自动LOD工具AutoLOD Mesh Decimator的使用
  • HarmonyOS开发 API 13发布首个Beta版本,部分已知的问题建议处理方案
  • 删除.svn版本控制文件夹后,文件夹上的svn图标仍然显示的问题
  • 使用etl工具kettle的日常踩坑梳理之二、从Hadoop中导出数据
  • 分糖果(条件分配)
  • Works With线上开发者大会将提供物联网行业深入的专业知识和技能
  • uniapp form表单校验
  • python爬虫获得店铺的所有商品
  • 【JavaEE初阶 — 多线程】生产消费模型 阻塞队列
  • 基于Java的企业资产管理系统
  • Springboot 日志处理(非常详细)
  • 从opencv-python入门opencv--图像处理之图像滤波
  • golang HTTP基础
  • 【计网】实现reactor反应堆模型 --- 多线程方案优化 ,OTOL方案