smart-doc 2.6.2 发布,Java 零注解 API 文档生成工具
smart-doc 是一款同时支持 java restful api 和 Apache Dubbo rpc 接口文档生成的工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法。
smart-doc 完全基于接口源码分析来生成接口文档,完全做到零注解侵入,你只需要按照 java 标准注释编写,smart-doc 就能帮你生成一个简易明了的 markdown 或是一个像 GitBook 样式的静态 html 文档。如果你已经厌倦了 swagger 等文档工具的无数注解和强侵入污染,那请拥抱 smart-doc 吧!
功能特性
- 支持接口 debug。
- 零注解、零学习成本、只需要写标准 java 注释。
- 基于源代码接口定义自动推导,强大的返回结构推导。
- 支持 Spring MVC,Spring Boot,Spring Boot Web Flux (controller 书写方式),JAX-RS 规范。
- 支持 Callable,Future,CompletableFuture 等异步接口返回的推导。
- 支持 JavaBean 上的 JSR303 参数校验规范,支持分组验证。
- 对 json 请求参数的接口能够自动生成模拟 json 参数。
- 对一些常用字段定义能够生成有效的模拟值。
- 支持生成 json 返回值示例。
- 支持从项目外部加载源代码来生成字段注释 (包括标准规范发布的 jar 包)。
- 支持生成多种格式文档:Markdown、HTML5、Asciidoctor、Postman collection、Open Api 3.0+。
- 轻易实现在 Spring Boot 服务上在线查看静态 HTML5 api 文档。
- 开放文档数据,可自由实现接入文档管理系统。
- 一款代码注释检测工具,不写注释的小伙伴逃不过法眼了。
- 插件式快速集成 (支持 maven 和 gradle 插件)。
- 支持 Apache Dubbo rpc 文档生成。
- 支持国产 Solon 应用开发框架。
Smart-doc 和其他工具的支持
功能特性 | smart-doc | swagger |
代码侵入 | 无 | 注解侵入性严重 |
集成复杂度 | 简单,只需插件 | 偏复杂 |
插件支持 | 有 gradle 和 maven 插件 | 无插件 |
openapi 规范支持 | 支持 openapi 3.0 | 完全支持 openapi 的版本 |
CI 构建集成 | 可在 ci 构建阶段使用 maven 或者 gradle 命令 启动插件生成文档
| 不支持 |
集中化文档中心集成 | 已经和 torna 企业级接口文档管理平台对接 | 不支持 |
维护持续性 | 值得信赖,开源后用户基础多,一直持续维护 | 全球用户多,开源维护值得信赖 |
接口 debug | 2.0.0 版本开始已经支持 debug,页面比 swagger 漂亮太多了。 | 支持 |
Smart-doc 从 2.0.0 后几乎实现了 swagger ui 的功能,并且比 swagger ui 更简洁大方,也更符合国内开发者的诉求。当前 smart-doc 的功能也已经
超过了 swagger 为 java 开发者提供的功能。当然 smart-doc 本身是只支持扫描代码生成 openapi 3.0 的文档的,也可以将生成的 openapi 3.0 文档导入到其他 ui 中渲染展示。
最近两年,国内也有不少开发者开发了无侵入 idea 文档生成插件,我们也在持续关注这些插件的发展。目前来讲这些 idea 的插件在集成上肯定比 smart-doc 简单,文档生成速度比 smart-doc 快 (idea 插件没有编译这些阶段),但是目前这些插件都没有解决掉多模块项目以及依赖部模块的场景下中的注释问题,对 smart-doc 发展过程中收集到的用例支持也还不完善。综合看 smart-doc 当前仍然是国内 java web 开发者生成文档的最佳工具。
更新内容
1. 修复文档中枚举渲染不换行问题,[#377](https://github.com/smart-doc-group/smart-doc/issues/377) 2. 文档url显示错误,[#379](https://github.com/smart-doc-group/smart-doc-maven-plugin/issues/379) 3. 优化openapi文档生成
debug 页面效果
maven 或 gradle 插件
smart-doc 官方为了方便用户快速和无侵入的集成 smart-doc 的文档 api 生成能力,我们开发可相关的 maven 或者 gradle 插件。这里也推荐使用插件的方式来使用 smart-doc。
https://gitee.com/smart-doc-team/smart-doc-maven-plugin
官方推荐方案
smart-doc + Torna 组成行业领先的文档生成和管理解决方案,使用 smart-doc 无侵入完成 Java 源代码分析和提取注释生成 API 文档,自动将文档推送到 Torna 企业级接口文档管理平台。
smart-doc 在国内很多企业中被用来替换了 swagger,甚至是在国内 Top 3 内的大厂都有 smart-doc 的二次开发版本。Torna 未来的目标是追赶和超越 Yapi。smart-doc 针对 java spring 技术栈的解析能力目前为业内最强 (不服就拿工具来跑 smart-doc 的解析 demo)。所以 smart-doc+Torna 的方案威力巨大,Torna 目前处于高速迭代期,欢迎体验 Torna,我们努力为社区提供高效好用的接口文档解决方案。
升级建议
smart-doc 本次对于使用者来说可以平滑升级,2.6这个版本系列整改较大,前面的版本稳定性不足,建议升级到最新的2.6.2。
DEMO
使用 demo 轻松玩转接口文档生成,其他用户案例文档效果展示:https://api.doubans.com/
知名用户
- 科大讯飞
- 一加
- 小米
- 马蜂窝
在 2021 年 8 月 smart-doc 也新增了一些外海的用户。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【经验分享】恋爱中出现了中间人怎么办?
最近程序员二狗子脸上总是洋溢着幸福的笑容。 嘿嘿,没错,因为二狗子恋爱了。 恋爱对象是二狗子的好朋友雷霆给介绍的,也是一名程序员。要说程序员与程序员的恋爱,那可不得了,简直是情投意合、心心相印。最近又恰巧碰上二狗子新开发了个聊天软件,本来两人共同话题就多,这下可好了,现在用聊天软件白天夜里聊个不停的,一点点小事都要告诉对方。 对称加密 有一天,二狗子和女朋友正用着聊天软件议论下周去哪旅游,在哪个网站买机票便宜。 二狗子陷入了沉思。女朋友说得没错,聊天软件的用户对于加密通信安全的需求十分强烈。想实现消息加密传输则需要双方知晓密钥,但是密钥又无法安全通过网络发送。唉,这可真头疼。 RSA:非对称加密 自从二狗子和女朋友知道对话消息无法加密后,双方在聊天时谨慎了不少。直到有天,他们听说了一种新的加密算法,叫做 RSA 加密。 RSA 加密是一种非对称加密,可以在不直接传递密钥的情况下完成解密。它不像对称加密使用的是同一个秘钥,而是由一对密钥来进行加解密的过程,分别称为公钥和私钥。其中最有趣的是,用私钥加密的明文,只能用公钥解密。反之用公钥加密的明文,则只有对应的私钥才能解密。 二狗子和女朋友...
- 下一篇
OpenSSL 发布 3.0.7 修复两个“高危”漏洞
OpenSSL 已发布 3.0.7 修复两个高危漏洞:CVE-2022-3786 和 CVE-2022-3602。官方建议 OpenSSL 3.0.x 用户应升级到 OpenSSL 3.0.7,因为这两个漏洞影响 OpenSSL 3.0.0 至 3.0.6 版本,不影响OpenSSL 1.1.1 和 1.0.2。 OpenSSL 团队表示,目前尚未发现利用上述漏洞的案例。此外,由于 OpenSSL 不会跟踪项目的使用情况,所以也没有关于受影响的服务器的统计数据。只是建议用户升级到最新版本。 CVE-2022-3602 漏洞最初被 OpenSSL 团队评估为"CRITICAL"(严重)等级——因为可能会导致 RCE,但经过测试和评估,该漏洞在 2022 年 11 月 1 日被降级为"HIGH"(高危)。 CVE-2022-3602:X.509 电子邮件地址 4 字节缓冲区溢出漏洞 由于 OpenSSL 3.0.0 - 3.0.6 版本中在 X.509 证书验证中存在缓冲区溢出漏洞,可以通过制作恶意电子邮件地址以溢出堆栈上的 4 个字节,成功利用此漏洞可用于发起 Dos 攻击或远程代码执行...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路