Skip to content

Smart-Doc 是什么?

BadgeImage
Maven Versionmaven
LicenseLicense
Number of Closed Issuesnumber of issues closed
Closed Pull Requestsclosed pull requests
Java Versionjava version
Gitee Stargitee star
GitHub Stargit star

smart-doc是一款支持JAVA REST API、JAVA WebSocket、Apache Dubbo RPC和gRPC接口文档生成的工具。

概述

smart-doc[/smɑːt dɒk/]率先提出了基于Java泛型定义来推导接口文档的概念。它完全依赖于接口的源代码进行分析和生成文档,无需在业务代码中添加任何注解。 只需按照JavaDoc的标准编写注释,smart-doc就能够帮助您生成简洁明了的MarkdownHTML5Postman Collection 2.0+OpenAPI 3.0+ 格式的文档。

无论你是很有经验的大佬、还是刚入行的萌新。遇到使用疑惑时,我们希望你能仔细阅读smart-doc官方文档。我们将smart-doc及其插件的 每一个配置项和可能在日常中遇到的问题都整理到了文档中。仔细阅读文档就是对开源项目最大的支持。

查看快速开始了解详情。

特性

  • 零注解、零学习成本、只需要写标准JAVA注释。
  • 基于源代码接口定义自动推导,强大的返回结构推导。
  • 支持Spring MVCSpring BootSpring Boot Web Flux(Controller书写方式)、Feign
  • 支持CallableFutureCompletableFuture等异步接口返回的推导。
  • 支持JavaBean上的JSR303参数校验规范,包括分组验证。
  • JSON请求参数的接口能够自动生成模拟JSON参数。
  • 对一些常用字段定义能够生成有效的模拟值。
  • 支持生成JSON返回值示例。
  • 支持从项目外部加载源代码来生成字段注释(包括标准规范发布的jar包)。
  • 支持生成多种格式文档:MarkdownHTML5WordAsciidoctorPostman CollectionOpenAPI 3.0。 开放文档数据,可自由实现接入文档管理系统。
  • 支持导出错误码和定义在代码中的各种字典码到接口文档。
  • 支持生成JMeter性能测试脚本。
  • 支持MavenGradle插件式轻松集成。
  • 支持Apache Dubbo RPC接口文档生成。
  • 支持gRPC接口文档生成。
  • 支持Java WebSocket接口文档生成。
  • 支持普通Java类生成javadoc文档。
  • 支持基于Git管理项目的变更增量文档生成。
  • debug接口调试html5页面完全支持文件上传,下载(@download tag标记下载方法)测试。

最佳实践

smart-doc结合Torna构成了业内领先的文档生成与管理解决方案。通过使用smart-doc ,能够无侵入地完成JAVA源代码的分析与注释提取, 从而生成API文档,并自动将文档上传至Torna企业级接口文档管理平台。 smart-doc + Torna

smart-doc+Torna文档自动化

Torna是由smart-doc官方独家推动联合研发的企业级文档管理系统,因此smart-doc官方不会对接其它任何的外部文档管理系统,例如像showdoc、yapi 之类的对接请自定内部处理,也不要再给我们提其他文档系统对接的PR。我们核心是把smart-doc+Torna的这套方案打造好

Contact

愿意参与构建smart-doc或者是需要交流问题可以扫描微信二维码发送smart-doc备注信息后管理员拉进群,常见问题答疑

社区管理员微信
社区QQ群

关注微信公众号,了解社区动态和更多技术分享

谁在使用

排名不分先后,更多接入公司,欢迎在此处登记(仅供开源用户参考)

iflytek
oneplus
xiaomi
shunfeng
ly
kuishou
mafengwo
yunda
zhongtongzhiyun
tcsklogo
flipboard
dianxin
yidong
neusoft
zhongkezhilian
hand-logo
yuanmengjiankang

获奖情况

  • 2020 年度 OSC 中国开源项目评选”活动中获得「最积极运营项目」

致谢

感谢JetBrains SoftWare 为本开源项目提供的免费Open Source license。
jetbrains

License

smart-doc is under the Apache 2.0 license. See the LICENSE file for details.

注意: smart-doc源代码文件全部带有版权注释,使用关键代码二次开源请保留原始版权,否则后果自负!

基于 MIT 许可发布