smart-doc 是一款同时支持 JAVA REST API 和 Apache Dubbo RPC 接口文档生成的工具,smart-doc 利用接口泛型和 javadoc 注释自动分析生成 api 接口文档,不采用任何注解侵入到业务代码中。只需要在项目中引入 smart-doc 提供的 maven 或者是 gradle 插件,然后按照规范写好 javadoc 注释即可生成 api 文档。同时 smart-doc 也支持生成 openapi 和 postman 这些规范的文档,生成后可以直接导入相关工具做测试。
查看快速开始 了解详情
Features
- 零注解、零学习成本、只需要写标准 JAVA 注释。
- 基于源代码接口定义自动推导,强大的返回结构推导。
- 支持 Spring MVC 、Spring Boot 、Spring Boot Web Flux(controller 书写方式)、Feign 。
- 支持 JAX-RS 实现的 WEB 框架,例如 Quarkus 。
- 支持 Callable 、Future 、CompletableFuture 等异步接口返回的推导。
- 支持 JavaBean 上的 JSR303 参数校验规范,包括分组验证。
- 对 JSON 请求参数的接口能够自动生成模拟 JSON 参数。
- 对一些常用字段定义能够生成有效的模拟值。
- 支持生成 JSON 返回值示例。
- 支持从项目外部加载源代码来生成字段注释(包括标准规范发布的 jar 包)。
- 支持生成多种格式文档:Markdown 、HTML5 、Asciidoctor 、Postman Collection 、OpenAPI 3.0 。Up- 开放文档数据,可自由实现接入文档管理系统。
- 支持导出错误码和定义在代码中的各种字典码到接口文档。
- 支持 Maven 、Gradle 插件式轻松集成。
- 支持 Apache Dubbo RPC 接口文档生成。
更新内容
- 单个接口推送到 torna 目录显示优化,#385
- 修改 timestamp 类型在文档中显示错误。
- 修改枚举重复问题。
- 支持 SpringBoot 3.0 和 Jakarta EE 10.
- 二维数据推送 torna 类型错误,#380
- 优化插件对常用无关文档依赖做加载优化。
- 支持 controller 继承接口中的注解#pr392。
发展情况
smart-doc 依赖开源维护超过三年的时间,目前很多功能已经非常稳定,国内有很多的用户。码云 star 超过 3k 。smart-doc 官方布道的企业级文档管理系统 torna 的 docker 镜像下载量超过 10k 。国内已有数家知名司在使用 smart-doc ,如:科大讯飞、小米、一加、顺丰、马蜂窝、同程旅行等。目前使用 smart-doc 的国内企业大中小企业有数百家。也有极少数的国外用户。