告别Swagger!Spring Boot集成Smart-Doc自动生成API文档

文章目录

    • [一、什么是 Smart-Doc?](#一、什么是 Smart-Doc?)
    • 二、步骤
      • [1. 添加 Smart-Doc Maven 插件](#1. 添加 Smart-Doc Maven 插件)
      • [2. 创建配置文件 smart-doc.json](#2. 创建配置文件 smart-doc.json)
      • 3.生成文档
      • [4. 查看效果](#4. 查看效果)
      • [5. 官方资源](#5. 官方资源)
    • 三、总结

一、什么是 Smart-Doc?

Smart-Doc 是一款基于 Java 源码和注释分析、零注解侵入的 API 文档生成工具。

✅ 无需 @Api、@ApiOperation 等 Swagger 注解

✅ 支持 Spring Boot、Spring MVC、Dubbo 等

✅ 输出格式:HTML、Markdown、Word、OpenAPI、Postman JSON 等

✅ 通过 Maven / Gradle 插件一键生成

目标

  • 在 Spring Boot 项目中集成 Smart-Doc
  • 使用 Maven 插件生成 Markdown 和 HTML 格式的 API 文档
  • 实现无侵入、自动化文档更新

二、步骤

1. 添加 Smart-Doc Maven 插件

在 pom.xml 的 中加入:

xml 复制代码
<plugin>
    <groupId>com.github.shalousun</groupId>
    <artifactId>smart-doc-maven-plugin</artifactId>
    <version>2.3.5</version>
    <configuration>
        <configFile>src/main/resources/smart-doc.json</configFile>
    </configuration>
</plugin>

2. 创建配置文件 smart-doc.json

在 src/main/resources/ 下新建 smart-doc.json:

json 复制代码
{
  "outPath": "E:\\docs",
  "serverUrl": "http://localhost:8080",
  "allInOne": true,
  "coverOld": true,
  "createDebugPage": false,
  "packageFilters": "com.example.demo.controller.*",
  "responseBodyAdvice": {
    "className": "com.example.demo.result.Result"
  }
}

3.生成文档

在项目根目录执行以下命令:

bash 复制代码
# 生成 HTML(默认)
mvn smart-doc:html

# 生成 Markdown
mvn smart-doc:markdown

# 生成 OpenAPI (Swagger) JSON
mvn smart-doc:openapi

生成的文档位于:E:\docs\index.html

4. 查看效果

打开 E:\docs\index.html,你将看到:

  • 接口分组(按 Controller)
  • 请求方法、URL、参数类型(Path/Body/Query)
  • 请求/响应示例(自动从实体类推导)

5. 官方资源

三、总结

🚀 无需启动应用!Smart-Doc 静态分析源码即可生成。
强烈推荐用 Smart-Doc 替代 Swagger,更简洁、高效、易维护!

相关推荐
Whisper_Sy6 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
乂爻yiyao6 小时前
1.1 JVM 内存区域划分
java·jvm
没有bug.的程序员7 小时前
Spring Cloud Eureka:注册中心高可用配置与故障转移实战
java·spring·spring cloud·eureka·注册中心
CryptoRzz7 小时前
如何高效接入日本股市实时数据?StockTV API 对接实战指南
java·python·kafka·区块链·状态模式·百度小程序
码农水水7 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
若鱼19197 小时前
SpringBoot4.0新特性-BeanRegistrar
java·spring
好好研究8 小时前
SpringBoot - yml配置文件
java·spring boot·spring
学海无涯书山有路8 小时前
Android FragmentContainerView 新手详解(Java 版)
android·java·开发语言
XiYang-DING9 小时前
【Java SE】数据类型、变量、类型转换、运算符以及程序逻辑控制
java·开发语言
闻哥9 小时前
Redis 避坑指南:从命令到主从的全链路踩坑实录
java·数据库·redis·缓存·面试·springboot