#generator #api #backward #evolution #clean #compatible #apivolve

apivolve_generator_api

用于创建Apivolve生成器的API,Apivolve是一个API进化工具,帮助您保持API向后兼容且干净

2个版本

0.1.1 2023年4月30日
0.1.0 2022年3月22日

#1345数据库接口

36 每月下载量
apivolve 中使用

Apache-2.0

47KB
1.5K SLoC

Apivolve生成器API

本项目是 Apivolve 的一部分,Apivolve是一个用于描述api变化的进化文件的项目。

API描述将自动转换为代码进行解析,包括完全向后兼容。这是通过为每种语言编写生成器来完成的,这些生成器可以完全独立于主Apivolve仓库编写。

如果您想使用Rust创建自己的Apivolve生成器,本项目适用于您。您可以使用任何其他语言;在这种情况下,您需要自行解析JSON,并且不需要这个库(示例)。

此仓库包含

协议v1

版本1目前是最新/唯一版本。

通信通过localhost TCP连接进行。

编辑:目前仅支持嵌入式(Rust),然后使用Apivolve本身引导协议

  • Apivolve运行生成器可执行文件,将TCP地址作为参数。
  • 生成器发送它期望使用的配置(AcceptedFormat)。
  • Apivolve发送生成器选项,例如输出目录和参数(UserPreferences)。
  • 生成器发送它想要的功能和当事人,使用(《FunctionalityRequest)。
  • Apivolve按版本发送请求的信息,一次一个版本,从新到旧。
  • 对于这些中的每一个,生成器生成必要的代码,并持久化它。
  • Apivolve指示已发送所有版本,生成器退出。

依赖关系

~1.8–3MB
~59K SLoC