Apideploy 重磅开源,在成熟 API 文档解决方案中又多了一个搅局者
背景
当前,在很多中、小型的开发团队或创业团队中,依然用着落后的方式进行着API接口的交互,他们写完文档来写代码,或者,写完代码来补文档,更甚者,文档全靠一张嘴,接口描述信息在IM中沟通飞扬,在联调的过程中前后端相互扯皮、苦不堪言。
当然,也有很多优秀的团队,在使用较成熟的解决方案,诸如:swagger、springfox、springdoc、knife4j、apifox、eolink、smart-doc等等。作者基于自己多年的研发经验,参考和对比了诸如上述国内外多个API管理工具和实现,始终觉得一款精美、高效的API平台工具,对开发者的意义重大。在苦苦找寻与对比下,各API管理工具依旧没有达到作者的期望,于是亲自下场,一怒之下写下了Apideploy。
设计理念
Apideploy遵从以下设计理念:
- 代码即文档。API文档应该通过代码自动生成,并能保持与代码的同步性,而不是通过手写文档来与前端、测试等进行协作;
- 主流标准友好。文档应该支持主流的OpenAPI 2(OAS2.0)、OpenAPI 3(OAS3.0)等协议标准,同时需要支持HTTP、WebSocket、SSE等协议;
- 版本可追溯。每一次的版本迭代,可以快速查阅接口变更的明细,支持不同版本的差异对比,并能支持回滚文档版本;
- 接口可mock。可以直接在该产品上完成接口的测试、联调甚至接口自动化;
- 界面要精美。友好的用户界面与交互;
- 第三方兼容。支持导入常见的API协议标准文档,也支持导出常用的文档格式。
产品架构
Apideploy核心分为两部分:API文档生成SDK+API托管与调试平台。
API文档生成SDK是完全开放源码的,访问https://github.com/apideploy-team 可以查阅。目前仅支持Java语言实现,其他语言社区用户可以贡献,或自行直接通过API托管与调试平台的RESTFull API进行对接。Java语言SDK实现基于javadoc注释方式自动生成API文档(无代码侵入方式),也兼容了基于swagger的实现。具体使用请参考:
API托管与调试平台主要功能包括:项目管理、团队协作、权限管理、API文档托管、文档调试、接口数据mock、版本更新记录、版本对比、个性化文档导出、多格式文档导入等,是一个集API全生命周期管理的平台,非常适合团队协作。目前支持公有云与私有化部署,www.apideploy.com是公有云的解决方案。
文档生成原理
Apideploy推崇文档即代码的设计理念,所以作者强烈推荐基于代码注释的文档生成方式,它不像swagger的实现那么笨重。
基于代码注释生成文档
基于代码注释生成文档,Apideploy的实现参考并依赖了smart-doc的开源代码,smart-doc是一款基于qdox优秀的Java文档解析工具,它很方便的实现了基于代码注释到API文档的过程。
Apideploy开源了Java代码注释生成文档的所有代码。
基于Swagger / OpenAPI的文档生成
在基于Java Web项目开发的Swagger实现中,目前用的比较多的开源实现是Springfox(包括国内的Knife4j)与Springdoc-openapi。Springfox的用户较多,但貌似已经停止更新,已经不再支持springboot3.0+的项目。
Apideploy兼容了springfox和springdoc-openapi的全部实现,所以如果之前的项目使用的是swagger项目,也非常方便切换到Apideploy进行文档托管和测试。
API托管与调试平台预览

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GreatSQL 8.0.32-25 今日发布
GreatSQL 8.0.32-25 今日发布 版本信息 发布时间:2023年12月28日 版本号:8.0.32-25, Revision db07cc5cb73 下载链接:RPM包、TAR包、源码包 用户手册:GreatSQL 8.0.32-25 User Manual 特性增强 GreatSQL 8.0.32-25版本中首次推出支持高性能的内存查询加速AP引擎,可将GreatSQL的数据分析性能提升几个数量级;大幅增加Oracle兼容特性,支持更多数据类型、SQL语法、函数及存储过程等;支持异步删除InnoDB大表;支持在MGR只读节点绑定动态VIP以及主节点切换时主动断开当前连接,缩短应用端不可用时长。 高可用 支持在MGR单主(Single Primary)模式下,对只读节点绑定VIP,业务可以通过该VIP来访问只读节点,实现只读节点的动态VIP漂移。更详细内容参考:MGR绑定动态VIP。 支持在MGR单主(Single Primary)模式下,当主节点切换时会主动关闭当前活跃连接,缩短应用端不可用时长。更详细内容参考:MGR切主后断开应用连接。 在跨机房容灾场景,同时开启多源...
- 下一篇
每日一博 | 探索 Seata 项目开源开发之旅
作者:尹祥琨,清华大学,Seata 开源之夏学生参与者 Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在今年的开源之夏活动中,我加入了 Apache Seata (Incubator) 社区,完成了开源之夏的课题,并从此一直积极参与社区。我有幸在云栖大会-开发者秀场上分享了我的开发者经验。在本文中,我将与大家分享我在 Seata 社区中的开发者之旅,以及在这个旅程中积累的经验和见解。希望通过我的故事,能够激励更多人踏上这充满挑战和激励的开源之路,为开源社区的繁荣做出自己的贡献。 相关背景 在正式介绍我的经历之前,我想先提供一些相关的背景信息,以解释为什么我要参与开源以及如何参与开源。关于参与开源的原因,我相信每个人都有不同的动机。以下是我认为一些主要的原因: 学习: 参与开源使我们有机会为不同组织开发的开源项目做出贡献,与行业专家互动,提供了学习的机会。 技能提升: 以我为例,我通常使用 Java 和 Python 进行后端开发。但在参与 Seata 项目时,我有机会学习 Go 语言,拓宽了我的后端技术栈。此外作为学生,我很难接触...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6