= Argentum ToolKit. REST Generator. REST Generator is a tools that creates API libraries from OpenAPI specification. Supported generators [cols="1,3,1"] |=== |Language | Type | Supported versions |Rust |Server side API package |3.1 and 3 |=== == Key features - Parsing instead of validation - Generated code compatible with Argentum REST - Clean and human-readable error responses - Low code duplication in generated code - Extendable and reusable generated code == How to install === Via cargo install [source,shell] ---- cargo install argentum_rest_generator_app ---- .From source codes .Clone [source,shell] ---- git clone git@gitlab.com:argentum-toolkit/argentum.git ---- .Install binary [source,shell] ---- cargo install --path argentum_rest_generator_app/ ---- == How to use .Generate REST API server library [source,shell] ---- argentum_rest_generator_app --input api-doc/openapi.yaml --output rest/ --package-name user_account_rest ---- Or you can generate via `cargo run` (sources should be cloned) .Example [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 ---- == Restrictions - supports only `$ref` params in case if OpenAPI objects supports `$ref`. (Doesn't support embedded objects in this case) - Schemas supports only Object type (Array, AnyOf, AllOf are not implemented yet) - we don't use OpenAPI tags. If you need similar functionality, we would like to recommend split your API to packages