5 个版本

0.2.5 2024 年 8 月 5 日
0.2.4 2024 年 8 月 2 日
0.2.2 2024 年 8 月 2 日
0.2.1 2024 年 8 月 1 日
0.2.0 2024 年 8 月 1 日

#301 in 开发工具

Download history 248/week @ 2024-07-29 140/week @ 2024-08-05

388 个月下载量

BSD-3-Clause

190KB
5K SLoC

Rust 4.5K SLoC // 0.0% comments Handlebars 682 SLoC

Argentum 工具箱. REST 生成器。

REST 生成器是一个从 OpenAPI 规范创建 API 库的工具。

支持的生成器

[cols="1,3,1"] |=== |语言 | 类型 | 支持版本

|Rust |服务器端 API 包 |3.1 和 3

|===

主要功能

  • 解析而非验证
  • 生成的代码与 Argentum REST 兼容
  • 清晰的、易于阅读的错误响应
  • 生成代码中代码重复率低
  • 可扩展和可重用的生成代码

如何安装

通过 cargo install

[source,shell]

cargo install argentum_rest_generator_app

.从源代码 .Clone [source,shell]

git clone [email protected]:argentum-toolkit/argentum.git

.安装二进制文件 [source,shell]

cargo install --path argentum_rest_generator_app/

如何使用

.生成 REST API 服务器库 [source,shell]

argentum_rest_generator_app --input api-doc/openapi.yaml --output rest/ --package-name user_account_rest

或者您可以通过 cargo run 生成(需要克隆源代码)

.示例 [source,shell]

cd argentum/argentum_rest_generator_app

cargo run --   --input ../argentum_user_account/api-doc/openapi.yaml --output ../argentum_user_account/rest/ --package-name argentum_user_account_rest

限制

  • 如果 OpenAPI 对象支持 $ref 参数,则支持 $ref 参数。(在这种情况下不支持嵌入式对象)
  • 模式仅支持对象类型(数组、AnyOf、AllOf 尚未实现)
  • 我们不使用 OpenAPI 标签。如果您需要类似的功能,我们建议将您的 API 分割成包

依赖关系

~61MB
~1M SLoC