6 个版本
0.2.312 | 2023年8月14日 |
---|---|
0.2.311 | 2023年4月11日 |
0.1.0 | 2023年3月28日 |
2472 在 Web编程
每月下载量 40
用于 forem_openapi_client
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