mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-11 16:32:47 +00:00
[Java] fix additional annotations for oneOf interfaces (#13958)
This commit is contained in:
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|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|
|
|artifactId|artifactId in generated pom.xml. This also becomes part of the generated library's filename| |openapi-groovy|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|annotationLibrary|Select the complementary documentation annotation library.|<dl><dt>**none**</dt><dd>Do not annotate Model and Api with complementary annotations.</dd><dt>**swagger1**</dt><dd>Annotate Model and Api using the Swagger Annotations 1.x library.</dd><dt>**swagger2**</dt><dd>Annotate Model and Api using the Swagger Annotations 2.x library.</dd></dl>|swagger2|
|
|annotationLibrary|Select the complementary documentation annotation library.|<dl><dt>**none**</dt><dd>Do not annotate Model and Api with complementary annotations.</dd><dt>**swagger1**</dt><dd>Annotate Model and Api using the Swagger Annotations 1.x library.</dd><dt>**swagger2**</dt><dd>Annotate Model and Api using the Swagger Annotations 2.x library.</dd></dl>|swagger2|
|
||||||
|apiFirst|Generate the API from the OAI spec at server compile time (API first approach)| |false|
|
|apiFirst|Generate the API from the OAI spec at server compile time (API first approach)| |false|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |org.openapitools.client.api|
|
|apiPackage|package for generated api classes| |org.openapitools.client.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |org.openapitools.server.api|
|
|apiPackage|package for generated api classes| |org.openapitools.server.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |org.openapitools.controllers|
|
|apiPackage|package for generated api classes| |org.openapitools.controllers|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|applicationName|Micronaut application name (Defaults to the artifactId value)| |openapi-micronaut-client|
|
|applicationName|Micronaut application name (Defaults to the artifactId value)| |openapi-micronaut-client|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|applicationName|Micronaut application name (Defaults to the artifactId value)| |openapi-micronaut|
|
|applicationName|Micronaut application name (Defaults to the artifactId value)| |openapi-micronaut|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |com.prokarma.pkmst.controller|
|
|apiPackage|package for generated api classes| |com.prokarma.pkmst.controller|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |controllers|
|
|apiPackage|package for generated api classes| |controllers|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |null|
|
|apiPackage|package for generated api classes| |null|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |org.openapitools.vertxweb.server.api|
|
|apiPackage|package for generated api classes| |org.openapitools.vertxweb.server.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|apiPackage|package for generated api classes| |org.openapitools.server.api.verticle|
|
|apiPackage|package for generated api classes| |org.openapitools.server.api.verticle|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|annotationLibrary|Select the complementary documentation annotation library.|<dl><dt>**none**</dt><dd>Do not annotate Model and Api with complementary annotations.</dd><dt>**swagger1**</dt><dd>Annotate Model and Api using the Swagger Annotations 1.x library.</dd></dl>|none|
|
|annotationLibrary|Select the complementary documentation annotation library.|<dl><dt>**none**</dt><dd>Do not annotate Model and Api with complementary annotations.</dd><dt>**swagger1**</dt><dd>Annotate Model and Api using the Swagger Annotations 1.x library.</dd></dl>|none|
|
||||||
|apiPackage|package for generated api classes| |org.openapitools.client.api|
|
|apiPackage|package for generated api classes| |org.openapitools.client.api|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
|addConsumesProducesJson|Add @Consumes/@Produces Json to API interface| |false|
|
|addConsumesProducesJson|Add @Consumes/@Produces Json to API interface| |false|
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
|addConsumesProducesJson|Add @Consumes/@Produces Json to API interface| |false|
|
|addConsumesProducesJson|Add @Consumes/@Produces Json to API interface| |false|
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|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|
|
|apiPackage|package for generated api classes| |org.openapitools.api|
|
||||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
| ------ | ----------- | ------ | ------- |
|
| ------ | ----------- | ------ | ------- |
|
||||||
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
|
||||||
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|
|additionalOneOfTypeAnnotations|Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
|
||||||
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
||||||
|annotationLibrary|Select the complementary documentation annotation library.|<dl><dt>**none**</dt><dd>Do not annotate Model and Api with complementary annotations.</dd><dt>**swagger1**</dt><dd>Annotate Model and Api using the Swagger Annotations 1.x library.</dd><dt>**swagger2**</dt><dd>Annotate Model and Api using the Swagger Annotations 2.x library.</dd></dl>|swagger2|
|
|annotationLibrary|Select the complementary documentation annotation library.|<dl><dt>**none**</dt><dd>Do not annotate Model and Api with complementary annotations.</dd><dt>**swagger1**</dt><dd>Annotate Model and Api using the Swagger Annotations 1.x library.</dd><dt>**swagger2**</dt><dd>Annotate Model and Api using the Swagger Annotations 2.x library.</dd></dl>|swagger2|
|
||||||
|apiFirst|Generate the API from the OAI spec at server compile time (API first approach)| |false|
|
|apiFirst|Generate the API from the OAI spec at server compile time (API first approach)| |false|
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
public static final String BOOLEAN_GETTER_PREFIX = "booleanGetterPrefix";
|
public static final String BOOLEAN_GETTER_PREFIX = "booleanGetterPrefix";
|
||||||
public static final String IGNORE_ANYOF_IN_ENUM = "ignoreAnyOfInEnum";
|
public static final String IGNORE_ANYOF_IN_ENUM = "ignoreAnyOfInEnum";
|
||||||
public static final String ADDITIONAL_MODEL_TYPE_ANNOTATIONS = "additionalModelTypeAnnotations";
|
public static final String ADDITIONAL_MODEL_TYPE_ANNOTATIONS = "additionalModelTypeAnnotations";
|
||||||
|
public static final String ADDITIONAL_ONE_OF_TYPE_ANNOTATIONS = "additionalOneOfTypeAnnotations";
|
||||||
public static final String ADDITIONAL_ENUM_TYPE_ANNOTATIONS = "additionalEnumTypeAnnotations";
|
public static final String ADDITIONAL_ENUM_TYPE_ANNOTATIONS = "additionalEnumTypeAnnotations";
|
||||||
public static final String DISCRIMINATOR_CASE_SENSITIVE = "discriminatorCaseSensitive";
|
public static final String DISCRIMINATOR_CASE_SENSITIVE = "discriminatorCaseSensitive";
|
||||||
public static final String OPENAPI_NULLABLE = "openApiNullable";
|
public static final String OPENAPI_NULLABLE = "openApiNullable";
|
||||||
@@ -126,6 +127,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
protected String parentVersion = "";
|
protected String parentVersion = "";
|
||||||
protected boolean parentOverridden = false;
|
protected boolean parentOverridden = false;
|
||||||
protected List<String> additionalModelTypeAnnotations = new LinkedList<>();
|
protected List<String> additionalModelTypeAnnotations = new LinkedList<>();
|
||||||
|
protected List<String> additionalOneOfTypeAnnotations = new LinkedList<>();
|
||||||
protected List<String> additionalEnumTypeAnnotations = new LinkedList<>();
|
protected List<String> additionalEnumTypeAnnotations = new LinkedList<>();
|
||||||
protected boolean openApiNullable = true;
|
protected boolean openApiNullable = true;
|
||||||
protected String outputTestFolder = "";
|
protected String outputTestFolder = "";
|
||||||
@@ -265,6 +267,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
cliOptions.add(CliOption.newBoolean(IGNORE_ANYOF_IN_ENUM, "Ignore anyOf keyword in enum", ignoreAnyOfInEnum));
|
cliOptions.add(CliOption.newBoolean(IGNORE_ANYOF_IN_ENUM, "Ignore anyOf keyword in enum", ignoreAnyOfInEnum));
|
||||||
cliOptions.add(CliOption.newString(ADDITIONAL_ENUM_TYPE_ANNOTATIONS, "Additional annotations for enum type(class level annotations)"));
|
cliOptions.add(CliOption.newString(ADDITIONAL_ENUM_TYPE_ANNOTATIONS, "Additional annotations for enum type(class level annotations)"));
|
||||||
cliOptions.add(CliOption.newString(ADDITIONAL_MODEL_TYPE_ANNOTATIONS, "Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)"));
|
cliOptions.add(CliOption.newString(ADDITIONAL_MODEL_TYPE_ANNOTATIONS, "Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)"));
|
||||||
|
cliOptions.add(CliOption.newString(ADDITIONAL_ONE_OF_TYPE_ANNOTATIONS, "Additional annotations for oneOf interfaces(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)"));
|
||||||
cliOptions.add(CliOption.newBoolean(OPENAPI_NULLABLE, "Enable OpenAPI Jackson Nullable library", this.openApiNullable));
|
cliOptions.add(CliOption.newBoolean(OPENAPI_NULLABLE, "Enable OpenAPI Jackson Nullable library", this.openApiNullable));
|
||||||
cliOptions.add(CliOption.newBoolean(IMPLICIT_HEADERS, "Skip header parameters in the generated API methods using @ApiImplicitParams annotation.", implicitHeaders));
|
cliOptions.add(CliOption.newBoolean(IMPLICIT_HEADERS, "Skip header parameters in the generated API methods using @ApiImplicitParams annotation.", implicitHeaders));
|
||||||
cliOptions.add(CliOption.newString(IMPLICIT_HEADERS_REGEX, "Skip header parameters that matches given regex in the generated API methods using @ApiImplicitParams annotation. Note: this parameter is ignored when implicitHeaders=true"));
|
cliOptions.add(CliOption.newString(IMPLICIT_HEADERS_REGEX, "Skip header parameters that matches given regex in the generated API methods using @ApiImplicitParams annotation. Note: this parameter is ignored when implicitHeaders=true"));
|
||||||
@@ -373,6 +376,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
this.setAdditionalModelTypeAnnotations(Arrays.asList(additionalAnnotationsList.trim().split("\\s*(;|\\r?\\n)\\s*")));
|
this.setAdditionalModelTypeAnnotations(Arrays.asList(additionalAnnotationsList.trim().split("\\s*(;|\\r?\\n)\\s*")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey(ADDITIONAL_ONE_OF_TYPE_ANNOTATIONS)) {
|
||||||
|
String additionalAnnotationsList = additionalProperties.get(ADDITIONAL_ONE_OF_TYPE_ANNOTATIONS).toString();
|
||||||
|
this.setAdditionalOneOfTypeAnnotations(Arrays.asList(additionalAnnotationsList.trim().split("\\s*(;|\\r?\\n)\\s*")));
|
||||||
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(ADDITIONAL_ENUM_TYPE_ANNOTATIONS)) {
|
if (additionalProperties.containsKey(ADDITIONAL_ENUM_TYPE_ANNOTATIONS)) {
|
||||||
String additionalAnnotationsList = additionalProperties.get(ADDITIONAL_ENUM_TYPE_ANNOTATIONS).toString();
|
String additionalAnnotationsList = additionalProperties.get(ADDITIONAL_ENUM_TYPE_ANNOTATIONS).toString();
|
||||||
|
|
||||||
@@ -671,14 +679,21 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
|
|
||||||
if (!additionalModelTypeAnnotations.isEmpty()) {
|
if (!additionalModelTypeAnnotations.isEmpty()) {
|
||||||
for (String modelName : objs.keySet()) {
|
for (String modelName : objs.keySet()) {
|
||||||
Map<String, Object> models = (Map<String, Object>) objs.get(modelName);
|
Map<String, Object> models = objs.get(modelName);
|
||||||
models.put(ADDITIONAL_MODEL_TYPE_ANNOTATIONS, additionalModelTypeAnnotations);
|
models.put(ADDITIONAL_MODEL_TYPE_ANNOTATIONS, additionalModelTypeAnnotations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!additionalOneOfTypeAnnotations.isEmpty()) {
|
||||||
|
for (String modelName : objs.keySet()) {
|
||||||
|
Map<String, Object> models = objs.get(modelName);
|
||||||
|
models.put(ADDITIONAL_ONE_OF_TYPE_ANNOTATIONS, additionalOneOfTypeAnnotations);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!additionalEnumTypeAnnotations.isEmpty()) {
|
if (!additionalEnumTypeAnnotations.isEmpty()) {
|
||||||
for (String modelName : objs.keySet()) {
|
for (String modelName : objs.keySet()) {
|
||||||
Map<String, Object> models = (Map<String, Object>) objs.get(modelName);
|
Map<String, Object> models = objs.get(modelName);
|
||||||
models.put(ADDITIONAL_ENUM_TYPE_ANNOTATIONS, additionalEnumTypeAnnotations);
|
models.put(ADDITIONAL_ENUM_TYPE_ANNOTATIONS, additionalEnumTypeAnnotations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2075,6 +2090,14 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
this.additionalModelTypeAnnotations = additionalModelTypeAnnotations;
|
this.additionalModelTypeAnnotations = additionalModelTypeAnnotations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getAdditionalOneOfTypeAnnotations() {
|
||||||
|
return additionalOneOfTypeAnnotations;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAdditionalOneOfTypeAnnotations(final List<String> additionalOneOfTypeAnnotations) {
|
||||||
|
this.additionalOneOfTypeAnnotations = additionalOneOfTypeAnnotations;
|
||||||
|
}
|
||||||
|
|
||||||
public void setAdditionalEnumTypeAnnotations(final List<String> additionalEnumTypeAnnotations) {
|
public void setAdditionalEnumTypeAnnotations(final List<String> additionalEnumTypeAnnotations) {
|
||||||
this.additionalEnumTypeAnnotations = additionalEnumTypeAnnotations;
|
this.additionalEnumTypeAnnotations = additionalEnumTypeAnnotations;
|
||||||
}
|
}
|
||||||
|
|||||||
2
modules/openapi-generator/src/main/resources/Java/additionalOneOfTypeAnnotations.mustache
vendored
Normal file
2
modules/openapi-generator/src/main/resources/Java/additionalOneOfTypeAnnotations.mustache
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
{{#additionalOneOfTypeAnnotations}}{{{.}}}
|
||||||
|
{{/additionalOneOfTypeAnnotations}}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{>typeInfoAnnotation}}{{>xmlAnnotation}}
|
{{>additionalOneOfTypeAnnotations}}{{>generatedAnnotation}}{{>typeInfoAnnotation}}{{>xmlAnnotation}}
|
||||||
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
public {{propertyType}} {{propertyGetter}}();
|
public {{propertyType}} {{propertyGetter}}();
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
{{#additionalOneOfTypeAnnotations}}{{{.}}}
|
||||||
|
{{/additionalOneOfTypeAnnotations}}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{{>additionalModelTypeAnnotations}}
|
{{>additionalOneOfTypeAnnotations}}
|
||||||
{{#withXml}}
|
{{#withXml}}
|
||||||
{{>xmlAnnotation}}
|
{{>xmlAnnotation}}
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
{{#additionalOneOfTypeAnnotations}}{{{.}}}
|
||||||
|
{{/additionalOneOfTypeAnnotations}}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{>typeInfoAnnotation}}{{>xmlAnnotation}}
|
{{>additionalOneOfTypeAnnotations}}{{>generatedAnnotation}}{{>typeInfoAnnotation}}{{>xmlAnnotation}}
|
||||||
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
public {{propertyType}} {{propertyGetter}}();
|
public {{propertyType}} {{propertyGetter}}();
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
{{#additionalOneOfTypeAnnotations}}{{{.}}}
|
||||||
|
{{/additionalOneOfTypeAnnotations}}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{>typeInfoAnnotation}}{{>xmlAnnotation}}
|
{{>additionalOneOfTypeAnnotations}}{{>generatedAnnotation}}{{>typeInfoAnnotation}}{{>xmlAnnotation}}
|
||||||
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
public {{propertyType}} {{propertyGetter}}();
|
public {{propertyType}} {{propertyGetter}}();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{{#additionalModelTypeAnnotations}}
|
{{#additionalOneOfTypeAnnotations}}
|
||||||
{{{.}}}
|
{{{.}}}
|
||||||
{{/additionalModelTypeAnnotations}}
|
{{/additionalOneOfTypeAnnotations}}
|
||||||
{{>common/generatedAnnotation}}{{>common/model/typeInfoAnnotation}}{{>common/model/xmlAnnotation}}
|
{{>common/generatedAnnotation}}{{>common/model/typeInfoAnnotation}}{{>common/model/xmlAnnotation}}
|
||||||
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
public interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import java.util.List;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
|
||||||
import com.github.javaparser.ast.body.ConstructorDeclaration;
|
import com.github.javaparser.ast.body.ConstructorDeclaration;
|
||||||
import org.assertj.core.api.AbstractAssert;
|
import org.assertj.core.api.AbstractAssert;
|
||||||
import org.assertj.core.api.Assertions;
|
import org.assertj.core.api.Assertions;
|
||||||
@@ -18,6 +19,7 @@ import com.github.javaparser.ast.CompilationUnit;
|
|||||||
import com.github.javaparser.ast.body.FieldDeclaration;
|
import com.github.javaparser.ast.body.FieldDeclaration;
|
||||||
import com.github.javaparser.ast.body.MethodDeclaration;
|
import com.github.javaparser.ast.body.MethodDeclaration;
|
||||||
import com.github.javaparser.ast.nodeTypes.NodeWithName;
|
import com.github.javaparser.ast.nodeTypes.NodeWithName;
|
||||||
|
import com.github.javaparser.ast.nodeTypes.modifiers.NodeWithAbstractModifier;
|
||||||
|
|
||||||
@CanIgnoreReturnValue
|
@CanIgnoreReturnValue
|
||||||
public class JavaFileAssert extends AbstractAssert<JavaFileAssert, CompilationUnit> {
|
public class JavaFileAssert extends AbstractAssert<JavaFileAssert, CompilationUnit> {
|
||||||
@@ -46,6 +48,30 @@ public class JavaFileAssert extends AbstractAssert<JavaFileAssert, CompilationUn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public JavaFileAssert isInterface() {
|
||||||
|
Assertions.assertThat(actual.getType(0).asClassOrInterfaceDeclaration())
|
||||||
|
.withFailMessage("Expected type %s to be an interface", actual.getType(0).getName().asString())
|
||||||
|
.extracting(ClassOrInterfaceDeclaration::isInterface)
|
||||||
|
.isEqualTo(true);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JavaFileAssert isNormalClass() {
|
||||||
|
Assertions.assertThat(actual.getType(0).asClassOrInterfaceDeclaration())
|
||||||
|
.withFailMessage("Expected type %s to be a normal class(non-abstract)", actual.getType(0).getName().asString())
|
||||||
|
.extracting(ClassOrInterfaceDeclaration::isInterface, NodeWithAbstractModifier::isAbstract)
|
||||||
|
.containsExactly(false, false);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JavaFileAssert isAbstractClass() {
|
||||||
|
Assertions.assertThat(actual.getType(0).asClassOrInterfaceDeclaration())
|
||||||
|
.withFailMessage("Expected type %s to be an abstract class", actual.getType(0).getName().asString())
|
||||||
|
.extracting(ClassOrInterfaceDeclaration::isInterface, NodeWithAbstractModifier::isAbstract)
|
||||||
|
.containsExactly(false, true);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public MethodAssert assertMethod(final String methodName, final String... paramTypes) {
|
public MethodAssert assertMethod(final String methodName, final String... paramTypes) {
|
||||||
List<MethodDeclaration> methods = paramTypes.length == 0
|
List<MethodDeclaration> methods = paramTypes.length == 0
|
||||||
? actual.getType(0).getMethodsByName(methodName)
|
? actual.getType(0).getMethodsByName(methodName)
|
||||||
|
|||||||
@@ -1618,6 +1618,46 @@ public class SpringCodegenTest {
|
|||||||
.bodyContainsLines("return Arrays.equals(this.picture, testObject.picture);");
|
.bodyContainsLines("return Arrays.equals(this.picture, testObject.picture);");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void shouldHandleSeparatelyInterfaceAndModelAdditionalAnnotations() throws IOException {
|
||||||
|
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
||||||
|
output.deleteOnExit();
|
||||||
|
|
||||||
|
OpenAPI openAPI = new OpenAPIParser()
|
||||||
|
.readLocation("src/test/resources/bugs/issue_13917.yaml", null, new ParseOptions()).getOpenAPI();
|
||||||
|
SpringCodegen codegen = new SpringCodegen();
|
||||||
|
codegen.setLibrary(SPRING_BOOT);
|
||||||
|
codegen.setOutputDir(output.getAbsolutePath());
|
||||||
|
codegen.additionalProperties().put(SpringCodegen.INTERFACE_ONLY, "true");
|
||||||
|
codegen.additionalProperties().put(SpringCodegen.USE_BEANVALIDATION, "true");
|
||||||
|
codegen.additionalProperties().put(SpringCodegen.PERFORM_BEANVALIDATION, "true");
|
||||||
|
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.model");
|
||||||
|
codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.controller");
|
||||||
|
codegen.additionalProperties().put(AbstractJavaCodegen.ADDITIONAL_MODEL_TYPE_ANNOTATIONS, "@marker.Class1;@marker.Class2;@marker.Common");
|
||||||
|
codegen.additionalProperties().put(AbstractJavaCodegen.ADDITIONAL_ONE_OF_TYPE_ANNOTATIONS, "@marker.Interface1;@marker.Common");
|
||||||
|
|
||||||
|
ClientOptInput input = new ClientOptInput()
|
||||||
|
.openAPI(openAPI)
|
||||||
|
.config(codegen);
|
||||||
|
|
||||||
|
DefaultGenerator generator = new DefaultGenerator();
|
||||||
|
Map<String, File> files = generator.opts(input).generate().stream()
|
||||||
|
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||||
|
|
||||||
|
JavaFileAssert.assertThat(files.get("PatchRequestInner.java"))
|
||||||
|
.isInterface()
|
||||||
|
.assertTypeAnnotations()
|
||||||
|
.containsWithName("marker.Interface1")
|
||||||
|
.containsWithName("marker.Common");
|
||||||
|
|
||||||
|
JavaFileAssert.assertThat(files.get("JSONPatchRequestRemove.java"))
|
||||||
|
.isNormalClass()
|
||||||
|
.assertTypeAnnotations()
|
||||||
|
.containsWithName("marker.Class1")
|
||||||
|
.containsWithName("marker.Class2")
|
||||||
|
.containsWithName("marker.Common");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void contractWithoutEnumDoesNotContainsEnumConverter() throws IOException {
|
public void contractWithoutEnumDoesNotContainsEnumConverter() throws IOException {
|
||||||
Map<String, File> output = generateFromContract("src/test/resources/3_0/generic.yaml", SPRING_BOOT);
|
Map<String, File> output = generateFromContract("src/test/resources/3_0/generic.yaml", SPRING_BOOT);
|
||||||
|
|||||||
@@ -0,0 +1,87 @@
|
|||||||
|
openapi: 3.0.3
|
||||||
|
info:
|
||||||
|
description: xxx
|
||||||
|
version: 0.0.1
|
||||||
|
title: x
|
||||||
|
x-audience: company-internal
|
||||||
|
|
||||||
|
paths:
|
||||||
|
|
||||||
|
/users/{id}:
|
||||||
|
patch:
|
||||||
|
description: Returns an organization
|
||||||
|
operationId: GetOrganization
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: id
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
#minLength: 36
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
style: simple
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json-patch+json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/PatchRequest'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Successful response.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
components:
|
||||||
|
schemas:
|
||||||
|
PatchRequest:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/JSONPatchRequestAddReplaceTest'
|
||||||
|
- $ref: '#/components/schemas/JSONPatchRequestRemove'
|
||||||
|
- $ref: '#/components/schemas/JSONPatchRequestMoveCopy'
|
||||||
|
JSONPatchRequestAddReplaceTest:
|
||||||
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
|
required:
|
||||||
|
- value
|
||||||
|
- op
|
||||||
|
- path
|
||||||
|
properties:
|
||||||
|
path:
|
||||||
|
description: A JSON Pointer path.
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
description: The value to add, replace or test.
|
||||||
|
JSONPatchRequestRemove:
|
||||||
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
|
required:
|
||||||
|
- op
|
||||||
|
- path
|
||||||
|
properties:
|
||||||
|
path:
|
||||||
|
description: A JSON Pointer path.
|
||||||
|
type: string
|
||||||
|
op:
|
||||||
|
description: The operation to perform.
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- remove
|
||||||
|
JSONPatchRequestMoveCopy:
|
||||||
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
|
required:
|
||||||
|
- from
|
||||||
|
- op
|
||||||
|
- path
|
||||||
|
properties:
|
||||||
|
path:
|
||||||
|
description: A JSON Pointer path.
|
||||||
|
type: string
|
||||||
|
op:
|
||||||
|
description: The operation to perform.
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- move
|
||||||
|
- copy
|
||||||
Reference in New Issue
Block a user