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书写方式)。
- 支持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文档生成。
Smart-doc 和其他工具的支持
功能特性 | smart-doc | swagger |
代码侵入 | 无 | 注解侵入性严重 |
集成复杂度 | 简单,只需插件 | 偏复杂 |
插件支持 | 有gradle和maven插件 | 无插件 |
openapi规范支持 | 支持openapi 3.0 | 完全支持openapi的版本 |
CI构建集成 | 可在ci构建阶段使用 maven或者gradle命令 启动插件生成文档
| 不支持 |
集中化文档中心集成 | 未来会独家支持集成 神秘的集中化文档管理中心, 打造自动、一体化的企业级接口文档解决方案 | 不支持 |
维护持续性 | 值得信赖,开源后用户基础多,一直持续维护 | 全球用户多,开源维护值得信赖 |
接口debug | 2.0.0版本开始已经支持debug | 支持 |
Smart-doc 从2.0.0后几乎实现了swagger ui的功能,并且比swagger ui更简洁大方,也更符合国内开发者的诉求。当然smart-doc的功能也已经
超过了swagger为java开发者提供的功能。
更新内容
从2.0.0版本开始,smart-doc完全支持生成debug调试页面。从本次发布的2.0.1版本起,smart-doc的生成的debug页面完全支持文件的上传下载测试。
1. debug调试页面支持文件上传。
2. 修改简单请求参数mock值和类型不匹配问题。
3. debug页面完全支持文件下载测试。
4. 所有html的文档支持接口目录搜索。
5. 剔除flexmark依赖,旧的非allInOne模板删除,统一h5文档样式。
debug页面效果
maven或gradle插件
smart-doc官方为了方便用户快速和无侵入的集成smart-doc的文档api生成能力,我们开发可相关的maven或者gradle插件。这里也推荐使用插件的方式来使用smart-doc。
https://gitee.com/smart-doc-team/smart-doc-maven-plugin
升级建议
建议使用使用smart-doc或者smart-doc-maven-plugin、smart-doc-gradle-plugin开源组件1.x版本的升级到2.0.0 。2.x后debug页面的支持,可以方便后端开发者自行调试接口。
DEMO
使用demo轻松玩转接口文档生成,其他用户案例文档效果展示:https://api.doubans.com/
资源均来自第三方,谨慎下载,前往第三方网站下载