smart-doc 2.0.9 发布,Java 零注解 API 文档生成工具
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命令 启动插件生成文档
| 不支持 |
集中化文档中心集成 | 已经和torna企业级接口文档管理平台对接 | 不支持 |
维护持续性 | 值得信赖,开源后用户基础多,一直持续维护 | 全球用户多,开源维护值得信赖 |
接口debug | 2.0.0版本开始已经支持debug | 支持 |
Smart-doc 从 2.0.0 后几乎实现了 swagger ui 的功能,并且比 swagger ui 更简洁大方,也更符合国内开发者的诉求。当然 smart-doc 的功能也已经
超过了 swagger 为 java 开发者提供的功能。当然 smart-doc 本身是只支持扫描代码生成 openapi 3.0 的文档的,也可以将生成的 openapi 3.0 文档导入到其他ui中渲染展示。
更新内容
从 2.0.0 版本开始,smart-doc 完全支持生成 debug 调试页面。从本次发布的 2.0.1 版本起,smart-doc 的生成的 debug 页面完全支持文件的上传下载测试。
- 支持UUID和ZonedDateTime字段类型,#89。
- 对map参数增加开关来兼容旧项目,还是不建议使用map参数。
- 完成和Torna的对接。
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企业级接口文档管理系统。
DEMO
使用demo轻松玩转接口文档生成,其他用户案例文档效果展示:https://api.doubans.com/
知名用户
- 科大讯飞
- 一加
- 小米
鸣谢
smart-doc也是利用一些开源技术构建起来的,我在这里对下列开源项目表示感谢。
-
Beetl 国内开源的JAVA模板引擎
- QDOX 开源JAVA源代码解析库
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RT-Thread学习笔记 --(6)RT-Thread线程间通信学习过程总结
前两篇文章总结了RT-Thread多线程以及多线程同步的学习过程,关于前两篇学习总结,可以查看之前的文章。 本篇文章继续总结关于RT-Thread多线程相关的最后一个重要知识点:线程间通信。前面的文章多次提及到,一个大的任务拆分为多个小任务,这些小任务之间必然存在着各种各样的关系,导致这些小任务的线程不能各自为政,必须要考虑其他任务线程的运行情况。 既然已经有了线程间同步,可以让多个线程之间进行相互沟通,那为啥还需要线程间通信呢?线程间通信到底是什么东西,这种方式有什么应用场景? 关于多线程之间的通信,RT-Thread官方提供了比较丰富的文档作为参考,具体可以查看以下链接:https://www.rt-thread.org/doc... 本文尝试从以下几个方面总结一下RT-Thread线程间通信的学习过程 线程间通信的相关概念 什么是线程间通信?通信,顾名思义,就是双方需要进行沟通与对话。通俗地概括,就是A线程在工作运行期间,有某些数据或者信息,要告诉B线程,让B线程接收到这些数据或信息后,能够继续完成指定的任务和工作。 两个线程之间为什么要进行通信呢?还是那句话,多个任务线程并不是...
- 下一篇
已存在 15 年之久的 Linux 内核漏洞让攻击者获得 root 权限
近日,在 Linux 内核的 iSCSI 子系统中发现的三个漏洞可能会允许具有基本用户权限的本地攻击者在未打补丁的 Linux 系统上获得 root 权限。 这些安全漏洞只能在本地被利用,这意味着潜在的攻击者将不得不通过利用另一个漏洞或使用其他攻击载体来访问受影响的设备。 15年之久的 Linux 内核漏洞 这些漏洞在 2006年 iSCSI 内核子系统的初始开发阶段就被引入,如今时隔 15 年,GRIMM 的研究人员终于发现了这些漏洞。 根据 GRIMM 安全研究员 Adam Nichols 的说法,这些漏洞影响了所有的 Linux 发行版,但幸运的是,受影响的 scsi_transport_iscsi 内核模块在默认情况下是没有被加载的。 然而,攻击者可能针对特定的 Linux 发行版的特性,即该模块可以在特殊情况下被加载的特性,被攻击者利用并进行攻击。 Nichols 补充道:"在 CentOS 8、RHEL 8 和 Fedora 系统上,如果安装了 rdma-core 包,非特权用户可以自动加载所需模块。而在 Debian 和 Ubuntu 系统上,只有在 RDMA 硬件可用的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主