Apideploy 重磅开源,在成熟 API 文档解决方案中又多了一个搅局者

背景

当前,在很多中、小型的开发团队或创业团队中,依然用着落后的方式进行着API接口的交互,他们写完文档来写代码,或者,写完代码来补文档,更甚者,文档全靠一张嘴,接口描述信息在IM中沟通飞扬,在联调的过程中前后端相互扯皮、苦不堪言。

当然,也有很多优秀的团队,在使用较成熟的解决方案,诸如:swagger、springfox、springdoc、knife4j、apifox、eolink、smart-doc等等。作者基于自己多年的研发经验,参考和对比了诸如上述国内外多个API管理工具和实现,始终觉得一款精美、高效的API平台工具,对开发者的意义重大。在苦苦找寻与对比下,各API管理工具依旧没有达到作者的期望,于是亲自下场,一怒之下写下了Apideploy。

设计理念

Apideploy遵从以下设计理念:

产品架构

Apideploy核心分为两部分:API文档生成SDK+API托管与调试平台。

API文档生成SDK是完全开放源码的,访问https://github.com/apideploy-team可以查阅。目前仅支持Java语言实现,其他语言社区用户可以贡献,或自行直接通过API托管与调试平台的RESTFull API进行对接。Java语言SDK实现基于javadoc注释方式自动生成API文档(无代码侵入方式),也兼容了基于swagger的实现。具体使用请参考:

文档生成原理

Apideploy推崇文档即代码的设计理念,所以作者强烈推荐基于代码注释的文档生成方式,它不像swagger的实现那么笨重。

基于代码注释生成文档,Apideploy的实现参考并依赖了smart-doc的开源代码,smart-doc是一款基于qdox优秀的Java文档解析工具,它很方便的实现了基于代码注释到API文档的过程。

Apideploy开源了Java代码注释生成文档的所有代码。

在基于Java Web项目开发的Swagger实现中,目前用的比较多的开源实现是Springfox(包括国内的Knife4j)与Springdoc-openapi。Springfox的用户较多,但貌似已经停止更新,已经不再支持springboot3.0+的项目。

Apideploy兼容了springfox和springdoc-openapi的全部实现,所以如果之前的项目使用的是swagger项目,也非常方便切换到Apideploy进行文档托管和测试。

API托管与调试平台预览