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