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

server/2024/11/17 11:25:54/

计划在项目中集成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

java">{
  "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.ppmy.cn/server/142640.html

相关文章

leetcodeQ76最小覆盖子串

目录 思路代码 思路 滑动窗口&#xff0c;记录区间【left,right】之间的子串覆盖没覆盖t,就是t里面的元素是不是在区间之内都找到。 有几个比较难的问题 怎么确定满足条件了&#xff0c;就是【left,right】之间的子串已经覆盖t, 我们可以将t用map存&#xff0c;这个map不会…

rust逆向初探

rust 逆向葵花宝典 rust逆向技巧 rust逆向三板斧&#xff1a; [!NOTE] 快速定位关键函数 (真正的main函数)&#xff1a;观察输出、输入&#xff0c;字符串搜索&#xff0c;断点等方法。定位关键 加密区 &#xff1a;根据输入的flag&#xff0c;打硬件断点&#xff0c;快速捕获…

LLMs:《Scaling Laws for Precision精度感知的缩放定律》翻译与解读

LLMs&#xff1a;《Scaling Laws for Precision精度感知的缩放定律》翻译与解读 导读&#xff1a;这篇论文研究了低精度训练和推理对大型语言模型&#xff08;LLM&#xff09;的影响。通过大量的实验&#xff0c;建立了精度感知型缩放定律&#xff0c;为低精度训练和推理提供了…

开源项目推荐——OpenDroneMap无人机影像数据处理

实景三维作为GIS最火的课题&#xff0c;最近在想做一套自己的三维构建工具&#xff0c;考察了几个开源项目&#xff0c;把自己的搜索过程用csdn记录下来&#xff0c;希望也能帮助到各位同仁。 OpenDroneMap&#xff08;ODM&#xff09;是一个开源项目&#xff0c;旨在处理无人…

Linux基础(十七)——Linux 帐号管理与 ACL 权限设置

Linux 帐号管理与 ACL 权限设置 1.UID与GID2./etc/passwd3./etc/shadow4./etc/group5./etc/gshadow6.有效群组和初始群组7.账号管理7.1 增加、修改、删除账户7.2 增加、修改、删除群组7.3 实例 8.ACL使用8.1 ACL定义8.2 查询与设置ACL 9.用户切换9.1 su9.2 .sudo 10. 使用者的特…

建筑企业新闻稿怎么写?工程行业评职称品牌宣传背书的报纸期刊杂志媒体有哪些

【本篇由 言同数字媒体投放 原创】撰写建筑企业的新闻稿是一项重要的品牌宣传活动&#xff0c;旨在提升企业形象、吸引客户及投资者、并增强市场影响力。以下是撰写建筑企业新闻稿的具体步骤和技巧&#xff0c;以及适合发布工程设计行业品牌宣传的报纸、期刊和杂志媒体推荐。 一…

python 同时控制多部手机

在这个智能时代,我们的手机早已成为生活和工作中不可或缺的工具。无论是管理多个社交媒体账号,还是处理多台设备上的事务,如何更高效地控制多个手机成为了每个人的痛点。 今天带来的这个的软件为你提供了一键控制多部手机的强大功能。无论是办公、娱乐,还是社交,你都能通过…

illustrator(AI)-去掉文字有底色

AI去除文字底色教程&#xff1a; 1、打开AI软件&#xff0c;点击“文件”>“新建”&#xff0c;新建一个空白文档&#xff1b; 2、接着将其它版本的AI文件导入当前软件中&#xff0c;此时可以发现文字是有底色的&#xff0c;接下来小编教大家去除文字底色的方法&#xff1…