一、写在前面
程序员最讨厌的事情就是写文档,尤其是接口文档。之前也用过swagger,但是感觉每个类、方法、字段都要加注解,实在是太麻烦了,最近发现smart-doc很好的解决了这个问题,因为它是无侵入式的,只要正常写Java注释,它就能帮你生成各种格式的接口文档。
官方文档地址:https://smart-doc-group.github.io/#/zh-cn/
二、maven插件配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <plugin> <groupId>com.github.shalousun</groupId> <artifactId>smart-doc-maven-plugin</artifactId> <version>2.6.0</version> <executions> <execution> <phase>compile</phase> <goals> <goal>html</goal> </goals> </execution> </executions> <configuration> <configFile>./src/main/resources/smart-doc.json</configFile> </configuration> </plugin>
|
这里生成的格式为html,配置文件目录为 ./src/main/resources/smart-doc.json
三、配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| { "serverUrl": "http://127.0.0.1:8236", "pathPrefix": "/", "isStrict": false, "allInOne": true, "outPath": "target/classes/static/doc", "coverOld": true, "createDebugPage": true, "style":"atelier_cave-light", "allInOneDocFileName":"index.html", "errorCodeDictionaries": [{ "title": "响应码", "enumClassName": "com.aizz.mindmingle.common.ResponseCode", "codeField": "code", "descField": "desc" }], "revisionLogs": [{ "version": "1.0", "revisionTime": "2023-11-24 10:30", "status": "create", "author": "zhangyuliang", "remarks": "创建" }] }
|
这里配置了接口文档的生成目录和响应码等信息,还可以配置静态常量和数据字典,具体可参考官方文档。
四、生成接口文档
正常 mvn clean package
可以生成接口文档
也可通过命令生成

下图为 smart-doc.json
配置文件和生成后的接口文档在项目中的展示

五、文档展示
5.1 本地
本地直接打开html文件即可

5.2 服务器
远端访问格式为——ip:端口/context-path/doc/index.html
