自学内容网 自学内容网

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包过滤

原文地址:https://blog.csdn.net/qq_39708228/article/details/143763608

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!