Crates.io | openapi_lib_generator |
lib.rs | openapi_lib_generator |
version | 0.2.312 |
source | src |
created_at | 2023-03-28 12:33:59.744092 |
updated_at | 2023-08-14 22:51:46.60148 |
description | Rust openapi lib generator |
homepage | |
repository | https://github.com/plasticartsshow/openapi_lib_generator |
max_upload_size | |
id | 822988 |
size | 122,137 |
A tool to generate Rust libraries from OpenAPI specifications using the OpenAPI Generator Rust code generator.
It is available as a binary or library.
There are other tools like this:
This differs from those by trying to generate self-updatable crates that include cargo-make makefiles so as not to have to keep using this generator.
Any crate generated by this generator should be mostly self-maintainable, including in its makefile all of the commands necessary to self-update to new versions as needed.
This tool can indeed generate code. There are, however, problems with the OpenAPI Generator's Rust generator.
As of now, there may be syntactical errors in the generated code. (Notably, rustc error code e0412 (A used type name is not in scope)) There are PR requests pending on that repo to fix these problems, but the maintainers seem really busy.
FWIW, these errors may only happen if your OpenAPI specification is malformed, in which case, you're best off correcting the specification.
As of now, the generated code will be Rust 2018 edition. If the autogeneration
CLI option is true
(default), the CLI will try to update the edition automatically.
See the generated makefile for a task that also tries this. If using that option, the generated Cargo toml will require a manual update of the package.edition
field.
After making changes in the generator crate, run cargo make test-generate-with-local-path
. This will try generating a crate with the OpenAPI Generator "Petstore" YAML spec.