forked from loafle/openapi-generator-original
* Adds generatorLanguageVersion and uses it in python generators * Regenerates docs * Adds stability to generator docs * Triple braces generatorLanguageVersion * Regenerates samples * Fixes the python-experimental setup.py file so it works with generatorLanguageVersion * Updates generators readme
6.1 KiB
6.1 KiB
title |
---|
Documentation for the go Generator |
METADATA
Property | Value | Notes |
---|---|---|
generator name | go | pass this to the generate command after -g |
generator stability | STABLE | |
generator type | CLIENT | |
generator language | Go | |
helpTxt | Generates a Go client library. |
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 |
---|---|---|---|
disallowAdditionalPropertiesIfNotPresent | If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default. |
|
true |
enumClassPrefix | Prefix enum with class name | false | |
generateInterfaces | Generate interfaces for api classes | false | |
hideGenerationTimestamp | Hides the generation timestamp when files are generated. | true | |
isGoSubmodule | whether the generated Go module is a submodule | false | |
packageName | Go package name (convention: lowercase). | openapi | |
packageVersion | Go package version. | 1.0.0 | |
prependFormOrBodyParameters | Add form or body parameters to the beginning of the parameter list. | false | |
structPrefix | whether to prefix struct with the class name. e.g. DeletePetOpts => PetApiDeletePetOpts | false | |
useOneOfDiscriminatorLookup | Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped. | false | |
withAWSV4Signature | whether to include AWS v4 signature support | false | |
withXml | whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) | false |
IMPORT MAPPING
Type/Alias | Imports |
---|
INSTANTIATION TYPES
Type/Alias | Instantiated By |
---|
LANGUAGE PRIMITIVES
- bool
- byte
- complex128
- complex64
- float32
- float64
- int
- int32
- int64
- interface{}
- map[string]interface{}
- rune
- string
- uint
- uint32
- uint64
RESERVED WORDS
- bool
- break
- byte
- case
- chan
- complex128
- complex64
- const
- continue
- default
- defer
- else
- error
- fallthrough
- float32
- float64
- for
- func
- go
- goto
- if
- import
- int
- int16
- int32
- int64
- int8
- interface
- map
- nil
- package
- range
- return
- rune
- select
- string
- struct
- switch
- type
- uint
- uint16
- uint32
- uint64
- uint8
- uintptr
- var
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 |
Array | ✓ | 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 |
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 |
Wire Format Feature
Name | Supported | Defined By |
---|---|---|
JSON | ✓ | OAS2,OAS3 |
XML | ✓ | OAS2,OAS3 |
PROTOBUF | ✗ | ToolingExtension |
Custom | ✗ | OAS2,OAS3 |