#open-api #generator #library

bin+lib openapi_lib_generator

Rust OpenAPI 库生成器

6 个版本

0.2.312 2023年8月14日
0.2.311 2023年4月11日
0.1.0 2023年3月28日

2472Web编程

每月下载量 40
用于 forem_openapi_client

MIT/Apache

65KB
1.5K SLoC

openapi-lib-generator

使用 OpenAPI Generator Rust 代码生成器从 OpenAPI 规范生成 Rust 库的工具。

关于

它可以作为二进制文件或库使用。

这个工具值得吗?

有其他类似的工具

这个工具与它们的不同之处在于,它试图生成可以自动更新的crate,包含 cargo-make makefiles,这样就不必一直使用这个生成器。

目标

由该生成器生成的任何crate都应该是大部分可自维护的,包括在 makefile 中包含所有必要的命令,以便在需要时更新到新版本。

进度

这个工具确实可以生成代码。然而,OpenAPI Generator 的 Rust 生成器存在问题。

正确性

截至目前,生成的代码中可能存在语法错误。(特别是,rustc 错误代码 e0412(已使用类型名不在作用域内))该仓库上尚有悬而未决的PR请求以修复这些问题,但维护者似乎非常忙碌。

FWIW,这些错误可能仅发生在您的 OpenAPI 规范格式不正确的情况下,在这种情况下,您最好纠正规范。

版本

截至目前,生成的代码将是 Rust 2018 版。如果 autogeneration CLI 选项为 true(默认),CLI 将尝试自动更新版本。

请参阅生成的 makefile,其中也尝试了此操作。如果使用此选项,生成的 Cargo toml 将需要手动更新 package.edition 字段。

贡献

在生成器crate中进行更改后,运行 cargo make test-generate-with-local-path。这将尝试使用 OpenAPI Generator "Petstore" YAML 规范生成一个crate。

依赖项

~38–52MB
~774K SLoC