Documentation for the rust Generator
METADATA
Property | Value | Notes |
---|---|---|
generator name | rust | pass this to the generate command after -g |
generator stability | STABLE | |
generator type | CLIENT | |
generator language | Rust | |
generator default templating engine | mustache | |
helpTxt | Generates a Rust client library (beta). |
CONFIG OPTIONS
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.
Option | Description | Values | Default |
---|---|---|---|
avoidBoxedModels | If set, Box<T> will not be used for models | false | |
bestFitInt | Use best fitting integer type where minimum or maximum is set | false | |
enumNameSuffix | Suffix that will be appended to all enum names. | ||
hideGenerationTimestamp | Hides the generation timestamp when files are generated. | true | |
library | library template (sub-template) to use. |
| reqwest |
mockall | Adds #[automock] from the mockall crate to api traits. This option is for 'reqwest-trait' library only | false | |
packageName | Rust package name (convention: lowercase). | openapi | |
packageVersion | Rust package version. | 1.0.0 | |
preferUnsignedInt | Prefer unsigned integers where minimum value is >= 0 | false | |
supportAsync | If set, generate async function call instead. This option is for 'reqwest' library only | true | |
supportMiddleware | If set, add support for reqwest-middleware. This option is for 'reqwest' and 'reqwest-trait' library only | false | |
supportMultipleResponses | If set, return type wraps an enum of all possible 2xx schemas. This option is for 'reqwest' and 'reqwest-trait' library only | false | |
supportTokenSource | If set, add support for google-cloud-token. This option is for 'reqwest' and 'reqwest-trait' library only and requires the 'supportAsync' option | false | |
topLevelApiClient | Creates a top level Api trait and ApiClient struct that contain all Apis. This option is for 'reqwest-trait' library only | false | |
useBonBuilder | Use the bon crate for building parameter types. This option is for the 'reqwest-trait' library only | false | |
useSingleRequestParameter | Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. | false | |
withAWSV4Signature | whether to include AWS v4 signature support | false |
IMPORT MAPPING
Type/Alias | Imports |
---|
INSTANTIATION TYPES
Type/Alias | Instantiated By |
---|
LANGUAGE PRIMITIVES
- String
- bool
- char
- f32
- f64
- i16
- i32
- i64
- i8
- isize
- str
- u16
- u32
- u64
- u8
- usize
RESERVED WORDS
- Self
- abstract
- as
- async
- await
- become
- box
- break
- const
- continue
- crate
- do
- dyn
- else
- enum
- extern
- false
- final
- fn
- for
- if
- impl
- in
- let
- loop
- macro
- match
- mod
- move
- mut
- override
- priv
- pub
- ref
- return
- self
- static
- struct
- super
- trait
- true
- try
- type
- typeof
- unsafe
- unsized
- use
- virtual
- where
- while
- yield
FEATURE SET
Client Modification Feature
Name | Supported | Defined By |
---|---|---|
BasePath | ✓ | ToolingExtension |
Authorizations | ✗ | ToolingExtension |
UserAgent | ✓ | ToolingExtension |
MockServer | ✗ | ToolingExtension |
Data Type Feature
Name | Supported | Defined By |
---|---|---|
Custom | ✗ | OAS2,OAS3 |
Int32 | ✓ | OAS2,OAS3 |
Int64 | ✓ | OAS2,OAS3 |
Float | ✓ | OAS2,OAS3 |
Double | ✓ | OAS2,OAS3 |
Decimal | ✓ | ToolingExtension |
String | ✓ | OAS2,OAS3 |
Byte | ✓ | OAS2,OAS3 |
Binary | ✓ | OAS2,OAS3 |
Boolean | ✓ | OAS2,OAS3 |
Date | ✓ | OAS2,OAS3 |
DateTime | ✓ | OAS2,OAS3 |
Password | ✓ | OAS2,OAS3 |
File | ✓ | OAS2 |
Uuid | ✗ | |
Array | ✓ | OAS2,OAS3 |
Null | ✗ | OAS3 |
AnyType | ✗ | OAS2,OAS3 |
Object | ✓ | OAS2,OAS3 |
Maps | ✓ | ToolingExtension |
CollectionFormat | ✓ | OAS2 |
CollectionFormatMulti | ✓ | OAS2 |
Enum | ✓ | OAS2,OAS3 |
ArrayOfEnum | ✓ | ToolingExtension |
ArrayOfModel | ✓ | ToolingExtension |
ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension |
ArrayOfCollectionOfModel | ✓ | ToolingExtension |
ArrayOfCollectionOfEnum | ✓ | ToolingExtension |
MapOfEnum | ✓ | ToolingExtension |
MapOfModel | ✓ | ToolingExtension |
MapOfCollectionOfPrimitives | ✓ | ToolingExtension |
MapOfCollectionOfModel | ✓ | ToolingExtension |
MapOfCollectionOfEnum | ✓ | ToolingExtension |
Documentation Feature
Name | Supported | Defined By |
---|---|---|
Readme | ✓ | ToolingExtension |
Model | ✓ | ToolingExtension |
Api | ✓ | ToolingExtension |
Global Feature
Name | Supported | Defined By |
---|---|---|
Host | ✓ | OAS2,OAS3 |
BasePath | ✓ | OAS2,OAS3 |
Info | ✓ | OAS2,OAS3 |
Schemes | ✗ | OAS2,OAS3 |
PartialSchemes | ✓ | OAS2,OAS3 |
Consumes | ✓ | OAS2 |
Produces | ✓ | OAS2 |
ExternalDocumentation | ✓ | OAS2,OAS3 |
Examples | ✓ | OAS2,OAS3 |
XMLStructureDefinitions | ✗ | OAS2,OAS3 |
MultiServer | ✗ | OAS3 |
ParameterizedServer | ✗ | OAS3 |
ParameterStyling | ✗ | OAS3 |
Callbacks | ✗ | OAS3 |
LinkObjects | ✗ | OAS3 |
Parameter Feature
Name | Supported | Defined By |
---|---|---|
Path | ✓ | OAS2,OAS3 |
Query | ✓ | OAS2,OAS3 |
Header | ✓ | OAS2,OAS3 |
Body | ✓ | OAS2 |
FormUnencoded | ✓ | OAS2 |
FormMultipart | ✓ | OAS2 |
Cookie | ✗ | OAS3 |
Schema Support Feature
Name | Supported | Defined By |
---|---|---|
Simple | ✓ | OAS2,OAS3 |
Composite | ✓ | OAS2,OAS3 |
Polymorphism | ✗ | OAS2,OAS3 |
Union | ✗ | OAS3 |
allOf | ✗ | OAS2,OAS3 |
anyOf | ✗ | OAS3 |
oneOf | ✓ | OAS3 |
not | ✗ | OAS3 |
Security Feature
Name | Supported | Defined By |
---|---|---|
BasicAuth | ✓ | OAS2,OAS3 |
ApiKey | ✓ | OAS2,OAS3 |
OpenIDConnect | ✗ | OAS3 |
BearerToken | ✓ | OAS3 |
OAuth2_Implicit | ✓ | OAS2,OAS3 |
OAuth2_Password | ✗ | OAS2,OAS3 |
OAuth2_ClientCredentials | ✗ | OAS2,OAS3 |
OAuth2_AuthorizationCode | ✗ | OAS2,OAS3 |
SignatureAuth | ✗ | OAS3 |
AWSV4Signature | ✓ | ToolingExtension |
Wire Format Feature
Name | Supported | Defined By |
---|---|---|
JSON | ✓ | OAS2,OAS3 |
XML | ✓ | OAS2,OAS3 |
PROTOBUF | ✗ | ToolingExtension |
Custom | ✓ | OAS2,OAS3 |