mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-11-03 02:03:40 +00:00
4.9 KiB
4.9 KiB
| title |
|---|
| Documentation for the protobuf-schema Generator |
METADATA
| Property | Value | Notes |
|---|---|---|
| generator name | protobuf-schema | pass this to the generate command after -g |
| generator stability | BETA | |
| generator type | SCHEMA | |
| generator language | Protocol Buffers (Protobuf) | |
| generator default templating engine | mustache | |
| helpTxt | Generates gRPC and protocol buffer schema files (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 |
|---|---|---|---|
| addJsonNameAnnotation | Append "json_name" annotation to message field when the specification name differs from the protobuf field name | false | |
| aggregateModelsName | Aggregated model filename. If set, all generated models will be combined into this single file. | null | |
| customOptionsApi | Custom options for the api files. | null | |
| customOptionsModel | Custom options for the model files. | null | |
| numberedFieldNumberList | Field numbers in order. | false | |
| startEnumsWithUnspecified | Introduces "UNSPECIFIED" as the first element of enumerations. | false | |
| supportMultipleResponses | Support multiple responses | true | |
| useSimplifiedEnumNames | Use a simple name for enums | false | |
| wrapComplexType | Generate Additional message for complex type | true |
IMPORT MAPPING
| Type/Alias | Imports |
|---|
INSTANTIATION TYPES
| Type/Alias | Instantiated By |
|---|---|
| array | repeat |
| set | repeat |
LANGUAGE PRIMITIVES
- array
- bool
- bytes
- double
- fixed32
- fixed64
- float
- int32
- int64
- map
- set
- sfixed32
- sfixed64
- sint32
- sint64
- string
- uint32
- uint64
RESERVED WORDS
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 |