* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap * Requires that discriminators be required properties * Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples * Adds oneOf and anyOf invalidDiscriminator tests * Updates incorrect addOneOfInterfaceModel invocation * Runs ensure-up-to-date * Adds updates from Sebastien Rosset * Removes newlines * Uses df.isString * Fixes tests be correctly setting df.isString * Updates discriminatorExplicitMappingVerbose description per PR feedback * Adds description of how mappedModels is populated * Adds the suggestion exception raising when a MappedModel mappingName is null * Actually resolves merge conflicts * Switches two methods to package private because they are needed for testing * Allow nulls in MappedModel.getMappingName * Updates CLI flag name to legacyDiscriminatorBehavior, default=true Co-authored-by: William Cheng <wing328hk@gmail.com>
11 KiB
title | sidebar_label |
---|---|
Config Options for groovy | groovy |
Option | Description | Values | Default |
---|---|---|---|
additionalModelTypeAnnotations | Additional annotations for model type(class level annotations) | null | |
allowUnicodeIdentifiers | boolean, toggles whether unicode identifiers are allowed in names or not, default is false | false | |
apiPackage | package for generated api classes | org.openapitools.api | |
artifactId | artifactId in generated pom.xml. This also becomes part of the generated library's filename | openapi-groovy | |
artifactVersion | artifact version in generated pom.xml. This also becomes part of the generated library's filename | 1.0.0 | |
bigDecimalAsString | Treat BigDecimal values as Strings to avoid precision loss. | false | |
booleanGetterPrefix | Set booleanGetterPrefix | get | |
dateLibrary | Option. Date library to use |
|
legacy |
developerEmail | developer email in generated pom.xml | team@openapitools.org | |
developerName | developer name in generated pom.xml | OpenAPI-Generator Contributors | |
developerOrganization | developer organization in generated pom.xml | OpenAPITools.org | |
developerOrganizationUrl | developer organization URL in generated pom.xml | http://openapitools.org | |
disableHtmlEscaping | Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) | false | |
discriminatorCaseSensitive | Whether the discriminator value lookup should be case-sensitive or not. This option only works for Java API client | true | |
ensureUniqueParams | Whether to ensure parameter names are unique in an operation (rename parameters that are not). | true | |
fullJavaUtil | whether to use fully qualified name for classes under java.util. This option only works for Java API client | false | |
groupId | groupId in generated pom.xml | org.openapitools | |
hideGenerationTimestamp | Hides the generation timestamp when files are generated. | false | |
invokerPackage | root package for generated code | org.openapitools.api | |
java8 | Option. Use Java8 classes instead of third party equivalents |
|
false |
legacyDiscriminatorBehavior | This flag is used by OpenAPITools codegen to influence the processing of the discriminator attribute in OpenAPI documents. This flag has no impact if the OAS document does not use the discriminator attribute. The default value of this flag is set in each language-specific code generator (e.g. Python, Java, go...)using the method toModelName. |
When this flag is set to false:
-
The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document.
-
Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing. When this flag is set to true:
-
The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document. Note to developers supporting a language generator in OpenAPITools: to fully support the discriminator attribute as defined in the OAS specification 3.x, language generators should set this flag to true by default; however this requires updating the mustache templates to generate a language-specific discriminator lookup function that iterates over {{#mappedModels}} and does not iterate over {{children}}, {{#anyOf}}, or {{#oneOf}}.| |true| |licenseName|The name of the license| |Unlicense| |licenseUrl|The URL of the license| |http://unlicense.org| |modelPackage|package for generated models| |org.openapitools.model| |parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentVersion|parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false| |scmConnection|SCM connection in generated pom.xml| |scm
git@github.com:openapitools/openapi-generator.git| |scmDeveloperConnection|SCM developer connection in generated pom.xml| |scm
git@github.com:openapitools/openapi-generator.git| |scmUrl|SCM URL in generated pom.xml| |https://github.com/openapitools/openapi-generator| |serializableModel|boolean - toggle "implements Serializable" for generated models| |false| |snapshotVersion|Uses a SNAPSHOT version.|
- true
- Use a SnapShot Version
- false
- Use a Release Version
IMPORT MAPPING
Type/Alias | Imports |
---|---|
Array | java.util.List |
ArrayList | java.util.ArrayList |
BigDecimal | java.math.BigDecimal |
Date | java.util.Date |
DateTime | org.joda.time.* |
File | java.io.File |
HashMap | java.util.HashMap |
List | java.util.* |
LocalDate | org.joda.time.* |
LocalDateTime | org.joda.time.* |
LocalTime | org.joda.time.* |
Map | java.util.Map |
Set | java.util.* |
Timestamp | java.sql.Timestamp |
URI | java.net.URI |
UUID | java.util.UUID |
INSTANTIATION TYPES
Type/Alias | Instantiated By |
---|---|
array | ArrayList |
map | HashMap |
LANGUAGE PRIMITIVES
- ArrayList
- Boolean
- Date
- Double
- File
- Float
- Integer
- Long
- Map
- Object
- String
- boolean
- byte[]
RESERVED WORDS
- abstract
- apiclient
- apiexception
- apiresponse
- assert
- boolean
- break
- byte
- case
- catch
- char
- class
- configuration
- const
- continue
- default
- do
- double
- else
- enum
- extends
- final
- finally
- float
- for
- goto
- if
- implements
- import
- instanceof
- int
- interface
- localreturntype
- localvaraccept
- localvaraccepts
- localvarauthnames
- localvarcollectionqueryparams
- localvarcontenttype
- localvarcontenttypes
- localvarcookieparams
- localvarformparams
- localvarheaderparams
- localvarpath
- localvarpostbody
- localvarqueryparams
- long
- native
- new
- null
- object
- package
- private
- protected
- public
- return
- short
- static
- strictfp
- stringutil
- super
- switch
- synchronized
- this
- throw
- throws
- transient
- try
- void
- volatile
- while
FEATURE SET
Client Modification Feature
Name | Supported | Defined By |
---|---|---|
BasePath | ✓ | ToolingExtension |
Authorizations | ✗ | ToolingExtension |
UserAgent | ✗ | 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 |