diff --git a/modules/openapi-generator/src/main/resources/Java/oneof_interface.mustache b/modules/openapi-generator/src/main/resources/Java/oneof_interface.mustache index eadcb26b8297..07a7a82412d1 100644 --- a/modules/openapi-generator/src/main/resources/Java/oneof_interface.mustache +++ b/modules/openapi-generator/src/main/resources/Java/oneof_interface.mustache @@ -1,4 +1,7 @@ {{>additionalOneOfTypeAnnotations}}{{>generatedAnnotation}}{{>typeInfoAnnotation}}{{>xmlAnnotation}} +{{#vendorExtensions.x-class-extra-annotation}} +{{{vendorExtensions.x-class-extra-annotation}}} +{{/vendorExtensions.x-class-extra-annotation}} public {{>sealed}}interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}}{{>permits}}{ {{#discriminator}} public {{propertyType}} {{propertyGetter}}(); diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/oneof_interface.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/oneof_interface.mustache index 98db2c7cf4e2..00fca619c748 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/oneof_interface.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/oneof_interface.mustache @@ -13,7 +13,8 @@ @JsonSubTypes.Type(value = {{classname}}.class){{^-last}}, {{/-last}} {{/interfaceModels}} }) -{{/useDeductionForOneOfInterfaces}} +{{/useDeductionForOneOfInterfaces}}{{#vendorExtensions.x-class-extra-annotation}}{{{vendorExtensions.x-class-extra-annotation}}} +{{/vendorExtensions.x-class-extra-annotation}} {{/discriminator}} {{>generatedAnnotation}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index fd0e7271c9f7..d86f32b9cbba 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -3924,4 +3924,21 @@ public void oneOfWithInnerModelTest() { } assertTrue(speciesSeen); } -} \ No newline at end of file + + @Test + public void testOneOfClassWithAnnotation() throws IOException { + final Map files = generateFromContract("src/test/resources/3_0/java/oneOf-with-annotations.yaml", RESTCLIENT); + JavaFileAssert.assertThat(files.get("Fruit.java")) + .isNormalClass() + .assertTypeAnnotations().containsWithName("SuppressWarnings"); + } + + @Test + public void testOneOfInterfaceWithAnnotation() throws IOException { + final Map files = generateFromContract("src/test/resources/3_0/java/oneOf-with-annotations.yaml", RESTCLIENT, + Map.of(USE_ONE_OF_INTERFACES, "true")); + JavaFileAssert.assertThat(files.get("Fruit.java")) + .isInterface() + .assertTypeAnnotations().containsWithName("SuppressWarnings"); + } +} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java index 582af3e770c6..e85833a6caf0 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java @@ -5730,4 +5730,12 @@ public void testHasRestControllerDoesNotHaveController_issue21156() throws IOExc javaFileAssert .hasImports("java.util.concurrent.atomic.AtomicInteger"); } + + @Test + public void testOneOfInterfaceWithAnnotation() throws IOException { + final Map files = generateFromContract("src/test/resources/3_0/java/oneOf-with-annotations.yaml", SPRING_BOOT); + JavaFileAssert.assertThat(files.get("Fruit.java")) + .isInterface() + .assertTypeAnnotations().containsWithName("SuppressWarnings"); + } } diff --git a/modules/openapi-generator/src/test/resources/3_0/java/oneOf-with-annotations.yaml b/modules/openapi-generator/src/test/resources/3_0/java/oneOf-with-annotations.yaml new file mode 100644 index 000000000000..2dc849dbdff3 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/java/oneOf-with-annotations.yaml @@ -0,0 +1,44 @@ +openapi: 3.0.1 +info: + title: fruity + version: 0.0.1 +paths: + /: + get: + responses: + '200': + description: desc + content: + application/json: + schema: + $ref: '#/components/schemas/fruit' +components: + schemas: + fruit: + title: fruit + x-class-extra-annotation: '@SuppressWarnings("unchecked")' + properties: + color: + type: string + oneOf: + - $ref: '#/components/schemas/apple' + - $ref: '#/components/schemas/banana' + - $ref: '#/components/schemas/orange' + apple: + title: apple + type: object + properties: + kind: + type: string + banana: + title: banana + type: object + properties: + count: + type: number + orange: + title: orange + type: object + properties: + sweet: + type: boolean diff --git a/samples/client/others/java/webclient-sealedInterface/README.md b/samples/client/others/java/webclient-sealedInterface/README.md index 2a98a40d09c9..bd75247af413 100644 --- a/samples/client/others/java/webclient-sealedInterface/README.md +++ b/samples/client/others/java/webclient-sealedInterface/README.md @@ -124,12 +124,15 @@ Class | Method | HTTP request | Description ## Documentation for Models - [Addressable](docs/Addressable.md) + - [Animal](docs/Animal.md) - [Apple](docs/Apple.md) - [Banana](docs/Banana.md) - [Bar](docs/Bar.md) - [BarCreate](docs/BarCreate.md) - [BarRef](docs/BarRef.md) - [BarRefOrValue](docs/BarRefOrValue.md) + - [Cat](docs/Cat.md) + - [Dog](docs/Dog.md) - [Entity](docs/Entity.md) - [EntityRef](docs/EntityRef.md) - [Extensible](docs/Extensible.md) diff --git a/samples/client/others/java/webclient-sealedInterface/api/openapi.yaml b/samples/client/others/java/webclient-sealedInterface/api/openapi.yaml index 844dd45174f9..d0afd744f5e9 100644 --- a/samples/client/others/java/webclient-sealedInterface/api/openapi.yaml +++ b/samples/client/others/java/webclient-sealedInterface/api/openapi.yaml @@ -266,4 +266,19 @@ components: required: - length type: object + Animal: + oneOf: + - $ref: "#/components/schemas/Dog" + - $ref: "#/components/schemas/Cat" + x-one-of-name: Animal + Cat: + properties: + declawed: + type: boolean + type: object + Dog: + properties: + bark: + type: boolean + type: object diff --git a/samples/client/others/java/webclient-sealedInterface/docs/Animal.md b/samples/client/others/java/webclient-sealedInterface/docs/Animal.md new file mode 100644 index 000000000000..324c70fa7d96 --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/docs/Animal.md @@ -0,0 +1,10 @@ + + +# Interface Animal + +## Implementing Classes + +* Cat +* Dog + + diff --git a/samples/client/others/java/webclient-sealedInterface/docs/Cat.md b/samples/client/others/java/webclient-sealedInterface/docs/Cat.md new file mode 100644 index 000000000000..b893148b66b5 --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/docs/Cat.md @@ -0,0 +1,17 @@ + + +# Cat + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**declawed** | **Boolean** | | [optional] | + + +## Implemented Interfaces + +* Animal + + diff --git a/samples/client/others/java/webclient-sealedInterface/docs/Dog.md b/samples/client/others/java/webclient-sealedInterface/docs/Dog.md new file mode 100644 index 000000000000..25628713ba08 --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/docs/Dog.md @@ -0,0 +1,17 @@ + + +# Dog + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**bark** | **Boolean** | | [optional] | + + +## Implemented Interfaces + +* Animal + + diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Animal.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Animal.java new file mode 100644 index 000000000000..f2d77b69e0e2 --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Animal.java @@ -0,0 +1,41 @@ +/* + * ByRefOrValue + * This tests for a oneOf interface representation + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import java.util.Locale; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import org.openapitools.client.model.Cat; +import org.openapitools.client.model.Dog; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") +@JsonIgnoreProperties( + value = "", // ignore manually set , it will be automatically generated by Jackson during serialization + allowSetters = true // allows the to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "", visible = true) + +public sealed interface Animal permits Dog, Cat { +} + diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Cat.java new file mode 100644 index 000000000000..23ca5083733a --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Cat.java @@ -0,0 +1,106 @@ +/* + * ByRefOrValue + * This tests for a oneOf interface representation + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import java.util.Locale; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Cat + */ +@JsonPropertyOrder({ + Cat.JSON_PROPERTY_DECLAWED +}) +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") +public final class Cat implements Animal { + public static final String JSON_PROPERTY_DECLAWED = "declawed"; + @javax.annotation.Nullable + private Boolean declawed; + + public Cat() { + } + + public Cat declawed(@javax.annotation.Nullable Boolean declawed) { + + this.declawed = declawed; + return this; + } + + /** + * Get declawed + * @return declawed + */ + @javax.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_DECLAWED, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public Boolean getDeclawed() { + return declawed; + } + + + @JsonProperty(value = JSON_PROPERTY_DECLAWED, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDeclawed(@javax.annotation.Nullable Boolean declawed) { + this.declawed = declawed; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Cat cat = (Cat) o; + return Objects.equals(this.declawed, cat.declawed); + } + + @Override + public int hashCode() { + return Objects.hash(declawed); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Cat {\n"); + sb.append(" declawed: ").append(toIndentedString(declawed)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Dog.java new file mode 100644 index 000000000000..4de9f164a385 --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/src/main/java/org/openapitools/client/model/Dog.java @@ -0,0 +1,106 @@ +/* + * ByRefOrValue + * This tests for a oneOf interface representation + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import java.util.Locale; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Dog + */ +@JsonPropertyOrder({ + Dog.JSON_PROPERTY_BARK +}) +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") +public final class Dog implements Animal { + public static final String JSON_PROPERTY_BARK = "bark"; + @javax.annotation.Nullable + private Boolean bark; + + public Dog() { + } + + public Dog bark(@javax.annotation.Nullable Boolean bark) { + + this.bark = bark; + return this; + } + + /** + * Get bark + * @return bark + */ + @javax.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_BARK, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public Boolean getBark() { + return bark; + } + + + @JsonProperty(value = JSON_PROPERTY_BARK, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBark(@javax.annotation.Nullable Boolean bark) { + this.bark = bark; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Dog dog = (Dog) o; + return Objects.equals(this.bark, dog.bark); + } + + @Override + public int hashCode() { + return Objects.hash(bark); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Dog {\n"); + sb.append(" bark: ").append(toIndentedString(bark)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AnimalTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AnimalTest.java new file mode 100644 index 000000000000..c22f4bd39218 --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/AnimalTest.java @@ -0,0 +1,34 @@ +/* + * ByRefOrValue + * This tests for a oneOf interface representation + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import org.openapitools.client.model.Cat; +import org.openapitools.client.model.Dog; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for Animal + */ +class AnimalTest { +} diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/CatTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/CatTest.java new file mode 100644 index 000000000000..aee81afeb24d --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/CatTest.java @@ -0,0 +1,47 @@ +/* + * ByRefOrValue + * This tests for a oneOf interface representation + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for Cat + */ +class CatTest { + private final Cat model = new Cat(); + + /** + * Model tests for Cat + */ + @Test + void testCat() { + // TODO: test Cat + } + + /** + * Test the property 'declawed' + */ + @Test + void declawedTest() { + // TODO: test declawed + } + +} diff --git a/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/DogTest.java b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/DogTest.java new file mode 100644 index 000000000000..86b2d87bd2f9 --- /dev/null +++ b/samples/client/others/java/webclient-sealedInterface/src/test/java/org/openapitools/client/model/DogTest.java @@ -0,0 +1,47 @@ +/* + * ByRefOrValue + * This tests for a oneOf interface representation + * + * The version of the OpenAPI document: 0.0.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for Dog + */ +class DogTest { + private final Dog model = new Dog(); + + /** + * Model tests for Dog + */ + @Test + void testDog() { + // TODO: test Dog + } + + /** + * Test the property 'bark' + */ + @Test + void barkTest() { + // TODO: test bark + } + +} diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/.openapi-generator/VERSION b/samples/openapi3/server/petstore/spring-boot-oneof-interface/.openapi-generator/VERSION index fc74d6ceba8e..5e5282953086 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/.openapi-generator/VERSION +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/.openapi-generator/VERSION @@ -1 +1 @@ -7.15.0-SNAPSHOT +7.16.0-SNAPSHOT diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/BarApi.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/BarApi.java index 5a1d6c7b57e3..6c8d05565fee 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/BarApi.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/BarApi.java @@ -1,5 +1,5 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.15.0-SNAPSHOT). +/* + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.16.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ @@ -21,7 +21,6 @@ import io.swagger.v3.oas.annotations.media.ExampleObject; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; -import org.springframework.lang.Nullable; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -35,7 +34,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") @Validated @Tag(name = "Bar", description = "the Bar API") public interface BarApi { @@ -44,6 +43,7 @@ default Optional getRequest() { return Optional.empty(); } + public static final String PATH_CREATE_BAR = "/bar"; /** * POST /bar : Create a Bar * @@ -62,7 +62,7 @@ default Optional getRequest() { ) @RequestMapping( method = RequestMethod.POST, - value = "/bar", + value = BarApi.PATH_CREATE_BAR, produces = { "application/json" }, consumes = { "application/json" } ) diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/FooApi.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/FooApi.java index e0c6c57862d6..68df49abf188 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/FooApi.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/api/FooApi.java @@ -1,5 +1,5 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.15.0-SNAPSHOT). +/* + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (7.16.0-SNAPSHOT). * https://openapi-generator.tech * Do not edit the class manually. */ @@ -7,6 +7,7 @@ import org.openapitools.model.Foo; import org.openapitools.model.FooRefOrValue; +import org.springframework.lang.Nullable; import io.swagger.v3.oas.annotations.ExternalDocumentation; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -21,7 +22,6 @@ import io.swagger.v3.oas.annotations.media.ExampleObject; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; -import org.springframework.lang.Nullable; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -35,7 +35,7 @@ import java.util.Optional; import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") @Validated @Tag(name = "Foo", description = "the Foo API") public interface FooApi { @@ -44,6 +44,7 @@ default Optional getRequest() { return Optional.empty(); } + public static final String PATH_CREATE_FOO = "/foo"; /** * POST /foo : Create a Foo * @@ -62,7 +63,7 @@ default Optional getRequest() { ) @RequestMapping( method = RequestMethod.POST, - value = "/foo", + value = FooApi.PATH_CREATE_FOO, produces = { "application/json" }, consumes = { "application/json;charset=utf-8" } ) @@ -84,6 +85,7 @@ default ResponseEntity createFoo( } + public static final String PATH_GET_ALL_FOOS = "/foo"; /** * GET /foo : GET all Foos * @@ -101,7 +103,7 @@ default ResponseEntity createFoo( ) @RequestMapping( method = RequestMethod.GET, - value = "/foo", + value = FooApi.PATH_GET_ALL_FOOS, produces = { "application/json;charset=utf-8" } ) diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java index 638061b124c5..cb1b70c02a8f 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java @@ -6,6 +6,13 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.converter.Converter; +/** + * This class provides Spring Converter beans for the enum models in the OpenAPI specification. + * + * By default, Spring only converts primitive types to enums using Enum::valueOf, which can prevent + * correct conversion if the OpenAPI specification is using an `enumPropertyNaming` other than + * `original` or the specification has an integer enum. + */ @Configuration(value = "org.openapitools.configuration.enumConverterConfiguration") public class EnumConverterConfiguration { diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Addressable.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Addressable.java index cc1faa7f02f9..730627fb5fa7 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Addressable.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Addressable.java @@ -20,7 +20,7 @@ */ @Schema(name = "Addressable", description = "Base schema for addressable entities") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Addressable { private @Nullable String href; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Animal.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Animal.java index 71497d6c7192..72b94311d02e 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Animal.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Animal.java @@ -26,6 +26,6 @@ @JsonSubTypes.Type(value = Dog.class), @JsonSubTypes.Type(value = Cat.class) }) -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public interface Animal { } diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Apple.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Apple.java index 98f9bc20637e..634fa8f11281 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Apple.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Apple.java @@ -23,7 +23,7 @@ * Apple */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Apple implements Fruit { private Integer seeds; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Banana.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Banana.java index 7ddd5c8eef1a..72d79c9df4c9 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Banana.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Banana.java @@ -23,7 +23,7 @@ * Banana */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Banana implements Fruit { private Integer length; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Bar.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Bar.java index 7ef793d7b0c4..ea98b1ff2c4b 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Bar.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Bar.java @@ -25,7 +25,7 @@ */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Bar extends Entity implements BarRefOrValue { private String id; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarCreate.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarCreate.java index 4ff8623f2cd1..f57fb61afd92 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarCreate.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarCreate.java @@ -27,7 +27,7 @@ @JsonTypeName("Bar_Create") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class BarCreate extends Entity { private @Nullable String barPropA; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRef.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRef.java index 9e693220631e..ac60d2fccad7 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRef.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRef.java @@ -24,7 +24,7 @@ */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class BarRef extends EntityRef implements BarRefOrValue { public BarRef() { diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRefOrValue.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRefOrValue.java index 231127081847..abad6620f475 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRefOrValue.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/BarRefOrValue.java @@ -32,7 +32,7 @@ @JsonSubTypes.Type(value = BarRef.class, name = "BarRef") }) -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public interface BarRefOrValue { public String getAtType(); } diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Cat.java index 690ed47b4bc9..e0f6d444a828 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Cat.java @@ -19,7 +19,7 @@ * Cat */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Cat implements Animal { private @Nullable Boolean declawed; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Dog.java index 385ffd6ab3c8..377cb4b888cd 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Dog.java @@ -19,7 +19,7 @@ * Dog */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Dog implements Animal { private @Nullable Boolean bark; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Entity.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Entity.java index 312c1480e7c6..bef926d21d66 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Entity.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Entity.java @@ -36,7 +36,7 @@ @JsonSubTypes.Type(value = PizzaSpeziale.class, name = "PizzaSpeziale") }) -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Entity { private @Nullable String href; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/EntityRef.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/EntityRef.java index e350803a8aa3..c6d67e5b5fc1 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/EntityRef.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/EntityRef.java @@ -33,7 +33,7 @@ @JsonSubTypes.Type(value = FooRef.class, name = "FooRef") }) -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class EntityRef { private @Nullable String name; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Extensible.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Extensible.java index c0324216c73d..35409b11c790 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Extensible.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Extensible.java @@ -19,7 +19,7 @@ * Extensible */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Extensible { private @Nullable String atSchemaLocation; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Foo.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Foo.java index b3fd833b8eac..8d8a8776ed7c 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Foo.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Foo.java @@ -24,7 +24,7 @@ */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Foo extends Entity implements FooRefOrValue { private @Nullable String fooPropA; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRef.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRef.java index ba4d64626c90..d1c6d333237e 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRef.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRef.java @@ -24,7 +24,7 @@ */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class FooRef extends EntityRef implements FooRefOrValue { private @Nullable String foorefPropA; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRefOrValue.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRefOrValue.java index 21f35dee14a6..62ba99f5651c 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRefOrValue.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FooRefOrValue.java @@ -31,7 +31,7 @@ @JsonSubTypes.Type(value = FooRef.class, name = "FooRef") }) -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public interface FooRefOrValue { public String getAtType(); } diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Fruit.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Fruit.java index 0313fa6de3e3..cd6729294fd2 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Fruit.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Fruit.java @@ -33,7 +33,7 @@ @JsonSubTypes.Type(value = Banana.class, name = "BANANA") }) -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public interface Fruit { public FruitType getFruitType(); } diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FruitType.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FruitType.java index b23ab8a11701..0f1a448e3c4d 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FruitType.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/FruitType.java @@ -20,7 +20,7 @@ * Gets or Sets FruitType */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public enum FruitType { APPLE("APPLE"), diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pasta.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pasta.java index 262f1386da46..b5ff1bcceb41 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pasta.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pasta.java @@ -24,7 +24,7 @@ */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Pasta extends Entity { private @Nullable String vendor; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pizza.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pizza.java index 53979cecbafd..b9c76341a568 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pizza.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/Pizza.java @@ -33,7 +33,7 @@ @JsonSubTypes.Type(value = PizzaSpeziale.class, name = "PizzaSpeziale") }) -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Pizza extends Entity { private @Nullable BigDecimal pizzaSize; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/PizzaSpeziale.java b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/PizzaSpeziale.java index c52c56041e7d..75e9a127ec46 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/PizzaSpeziale.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/java/org/openapitools/model/PizzaSpeziale.java @@ -25,7 +25,7 @@ */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class PizzaSpeziale extends Pizza { private @Nullable String toppings; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/resources/openapi.yaml b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/resources/openapi.yaml index df48b1fe6ba5..fbef5145c2d5 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/resources/openapi.yaml +++ b/samples/openapi3/server/petstore/spring-boot-oneof-interface/src/main/resources/openapi.yaml @@ -15,7 +15,13 @@ paths: operationId: getAllFoos responses: "200": - $ref: "#/components/responses/200FooArray" + content: + application/json;charset=utf-8: + schema: + items: + $ref: "#/components/schemas/FooRefOrValue" + type: array + description: Success summary: GET all Foos tags: - Foo @@ -29,7 +35,11 @@ paths: $ref: "#/components/requestBodies/Foo" responses: "201": - $ref: "#/components/responses/201Foo" + content: + application/json: + schema: + $ref: "#/components/schemas/FooRefOrValue" + description: Error summary: Create a Foo tags: - Foo diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Animal.java b/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Animal.java index 30731ad0d1eb..8c6cd8ddd1f0 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Animal.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Animal.java @@ -20,6 +20,6 @@ import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public sealed interface Animal permits Dog, Cat { } diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Cat.java index 3082c00bd925..4dd282bcc66c 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Cat.java @@ -19,7 +19,7 @@ * Cat */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public final class Cat implements Animal { private @Nullable Boolean declawed; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Dog.java index 4ee53035790d..91a40561e686 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof-sealed/src/main/java/org/openapitools/model/Dog.java @@ -19,7 +19,7 @@ * Dog */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public final class Dog implements Animal { private @Nullable Boolean bark; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Animal.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Animal.java index 53d04fdcc39f..823704535148 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Animal.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Animal.java @@ -20,6 +20,6 @@ import javax.annotation.Generated; -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public interface Animal { } diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Cat.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Cat.java index 5c22cba14724..1fb15f84fa31 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Cat.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Cat.java @@ -19,7 +19,7 @@ * Cat */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Cat implements Animal { private @Nullable Boolean declawed; diff --git a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Dog.java b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Dog.java index d3b99c1f9d97..3f4a2489c812 100644 --- a/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Dog.java +++ b/samples/openapi3/server/petstore/spring-boot-oneof/src/main/java/org/openapitools/model/Dog.java @@ -19,7 +19,7 @@ * Dog */ -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.15.0-SNAPSHOT") +@Generated(value = "org.openapitools.codegen.languages.SpringCodegen", comments = "Generator version: 7.16.0-SNAPSHOT") public class Dog implements Animal { private @Nullable Boolean bark;