smart-doc 2.7.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 吧!

功能特性

  • 支持生成可调试接口的 html5 格式 API 文档。
  • 零注解、零学习成本、只需要写标准 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. 支持无源代码下的范型解析,#539
  2. 修复[2.6.9, 2.7.1]版本dubbo rpc重复生成接口文档bug。#531
  3. 修改不通类方法接口同名时归档错误问题,#531
  4. torna增加version推送,#535
  5. 删除自定义@required tag,@ignore tag不在支持字段忽略。使用jsr规则替代。

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+Torna 文档自动化

smart-doc 在国内很多企业中被用来替换了 swagger,甚至是在国内 Top 3 内的大厂都有 smart-doc 的二次开发版本。Torna 未来的目标是追赶和超越 Yapi。smart-doc 针对 java spring 技术栈的解析能力目前为业内最强 (不服就拿工具来跑 smart-doc 的解析 demo)。所以 smart-doc+Torna 的方案威力巨大,Torna 目前处于高速迭代期,欢迎体验 Torna,我们努力为社区提供高效好用的接口文档解决方案。

升级建议

2.7.2是smart-doc一个非常有意义的版本,范型的分析不再强行依赖源码代码去解析,这意味着只要把smart-doc通过maven或者是gradle插件集成到自己项目里就可以生成文档。对新手的易用度大幅提升,推荐使用老版本的用户也升级到2.7.2。

对于java开发的同行选择smart-doc也是比较正确,我们在社区经受住了很多用户的考验,能跑的case覆盖度远超其它工具。

DEMO

使用 demo 轻松玩转接口文档生成,其他用户案例文档效果展示:https://api.doubans.com/

知名用户

  • 科大讯飞
  • 一加
  • 小米
  • 马蜂窝
  • 顺丰

在 2021 年 8 月 smart-doc 也新增了一些外海的用户。


相關推薦

2022-11-03

smart-doc 是一款同时支持 java restful api 和 Apache Dubbo rpc 接口文档生成的工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法。 smart-doc 完全基于接口源码分析来生成接口文档,完全做到零注解侵入,

2022-12-14

个需求和痛点,或许可以尝试一下使用 Torna 推荐组合 smart-doc + Torna 实现文档全流程自动化 如果您使用 Java 语言,推荐使用 smart-doc + Torna smart-doc + Torna 组成行业领先的文档生成和管理解决方案,使用 smart-doc 无侵入完

2023-11-23

痛点,或许可以尝试一下使用 Torna 快速开始 推荐组合 smart-doc + Torna 实现文档全流程自动化 如果您使用 Java 语言,推荐使用 smart-doc + Torna smart-doc + Torna 组成行业领先的文档生成和管理解决方案,使用 smart-doc 无侵入完成 Java

2023-12-21

尊敬的Smart-Doc社区用户:         我们很高兴地宣布,Smart-Doc 3.0.1版本现已正式发布!在这个新版本中,我们对现有的功能进行了优化和改进,并新增了三个重要的功能。在本次的版本迭代中,我们

2022-09-30

动态配置常用参数。 通知公告 系统通知公告信息发布维护。 操作日志 系统正常操作日志记录和查询;系统异常信息日志记录和查询。 登录日志 系统登录日志记录查询包含登录异常。 文件管理 系统文

2023-11-28

用参数 支持 支持 通知公告 系统通知公告信息发布维护 支持 支持 操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持 登录日志 系统登录日志记录查询包含登录异常 支

2023-09-26

用参数 支持 支持 通知公告 系统通知公告信息发布维护 支持 支持 操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持 登录日志 系统登录日志记录查询包含登录异常 支

2023-11-28

用参数 支持 支持 通知公告 系统通知公告信息发布维护 支持 支持 操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持 登录日志 系统登录日志记录查询包含登录异常 支

2022-08-15

Erupt  通用后台管理框架 Erupt 是一个低代码 全栈类 框架,它使用 Java 注解 动态构建页面,及增、删、改、查、权限控制等功能。 零前端代码、零 CURD、自动建表,仅需 一个类文件 + 简洁的注解配

2023-11-15

用参数 支持 支持 通知公告 系统通知公告信息发布维护 支持 支持 操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持 登录日志 系统登录日志记录查询包含登录异常 支

2023-11-16

用参数 支持 支持 通知公告 系统通知公告信息发布维护 支持 支持 操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持 登录日志 系统登录日志记录查询包含登录异常 支

2023-02-08

contribution #472;   完整更新日志具体见 Release 发布版本。   APIJSON 九阴真经 - 软件开发行业的 ATM 机 接口全万能,前端不求人。要啥就有啥,所求即所得。 需求由它变,后端稳如山。不变应万变,上午就上线。

2023-01-13

更新日志 重大更新 [重大更新] 使用 spring 事件发布机制 重构登录日志与操作日志 支持多事件监听无入侵扩展 例如: 可以增加一个监听者将日志上传至ES等存储 对原有逻辑无影响 依赖升级 update springboot 2.7.6 => 2.7

2022-09-05

Erupt  通用后台管理框架 Erupt 是一个低代码 全栈类 框架,它使用 Java 注解 动态构建页面,及增、删、改、查、权限控制等功能。 零前端代码、零 CURD、自动建表,仅需 一个类文件 + 简洁的注解配