1.2K Stars 国产开源文档生成工具

smart-doc 是一款同时支持 Java Rest Api 和 Apache Dubbo RPC 接口文档生成的工具,在业内率先提出基于 Java 泛型定义推导的理念,完全基于注释生成文档,做到零侵入。只需要按照Javadoc标准编写注释, smart-doc 就能帮你生成一个简易明了的Markdown、HTML5、Postman Collection2.0+、OpenAPI 3.0+ 的文档。

图片[1]-1.2K Stars 国产开源文档生成工具-山海云端论坛

最新版功能

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

🧰 最佳实践方案

smart-doc + Torna 组成行业领先的文档生成和管理解决方案,使用smart-doc无侵入完成Java源代码分析和提取注释生成API文档, 自动将文档推送到 Torna 企业级接口文档管理平台。

Torna 是由 smart-doc 官方独家推动联合研发的企业级文档管理系统, 集成 torna 需要使用 smart-doc 2.0.9 版本及以上,目前也是主推 smart-doc+Torna 的这套方案。

如下图所示:

图片[2]-1.2K Stars 国产开源文档生成工具-山海云端论坛

smart-doc和swagger对比

图片[3]-1.2K Stars 国产开源文档生成工具-山海云端论坛

快速体验

smart-doc官方目前已经开发完成 Maven 插件和 Gradle 插件,小编这里使用 Maven 插件按最小化配置举例。

环境版本:

  • Maven 3.3.9+
  • JDK1.8+

1、在项目启动类所在模块的resources目录下创建 smart-doc.json 文件,内容如下:

{  "outPath": "/path/to/userdir", // 接口文档输出地址 "serverUrl": "http://127.0.0.1:8080"// 请求路径}outPath 可以使用相对路径,如:

./src/main/resources/static/doc2、在项目启动类所在模块的pom.xml文件配置 Maven 插件注意:需要 includes 依赖的源码包

<plugin> <groupId>com.ly.smart-doc</groupId> <artifactId>smart-doc-maven-plugin</artifactId> <version>[最新版本]</version> <configuration> <configFile>./src/main/resources/smart-doc.json</configFile> <projectName>${project.description}</projectName> <includes> <!-- 使用了mybatis-plus的Page分页需要include所使用的源码包 --> <include>com.baomidou:mybatis-plus-extension</include> <!-- 使用了mybatis-plus的IPage分页需要include mybatis-plus-core--> <include>com.baomidou:mybatis-plus-core</include> <!-- 使用了jpa的分页需要include所使用的源码包 --> <include>org.springframework.data:spring-data-commons</include> </includes> </configuration> <executions> <execution> <!--如果不需要在执行编译时启动smart-doc,则将phase注释掉--> <phase>compile</phase> <goals> <!--smart-doc提供了html、openapi、markdown等goal,可按需配置--> <goal>html</goal> </goals> </execution> </executions></plugin>

3、在 IDEA 中直接使用 Maven 插件目录下的 smart-doc 模块

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容