diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java index be03b538e466..9ac2b0927cea 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java @@ -373,7 +373,7 @@ public Map postProcessAllModels(Map objs) CodegenDiscriminator discriminator = model.parentModel.getDiscriminator(); if (discriminator != null) { for (CodegenDiscriminator.MappedModel mappedModel : discriminator.getMappedModels()) { - if (mappedModel.getModelName().equals(model.name)) { + if (mappedModel.getSchemaName().equals(model.schemaName)) { model.getVendorExtensions().put("x-discriminator-value", mappedModel.getMappingName()); break; } diff --git a/modules/openapi-generator/src/test/resources/3_0/jaxrs/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/jaxrs/petstore.yaml index 3521572b9203..dc025556747e 100644 --- a/modules/openapi-generator/src/test/resources/3_0/jaxrs/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/jaxrs/petstore.yaml @@ -771,12 +771,12 @@ components: type: string oneOf: - $ref: '#/components/schemas/CatRequest' - - $ref: '#/components/schemas/DogRequest' + - $ref: '#/components/schemas/Dog_Request' discriminator: propertyName: petType mapping: CAT: '#/components/schemas/CatRequest' - DOG: '#/components/schemas/DogRequest' + DOG: '#/components/schemas/Dog_Request' CatRequest: allOf: - $ref: '#/components/schemas/PetRequest' @@ -784,7 +784,7 @@ components: properties: indoor: type: boolean - DogRequest: + Dog_Request: allOf: - $ref: '#/components/schemas/PetRequest' - type: object diff --git a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/model/DogRequest.java b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/model/DogRequest.java index f1a23fc558df..8af535a95f57 100644 --- a/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/model/DogRequest.java +++ b/samples/server/petstore/jaxrs-cxf-cdi/src/gen/java/org/openapitools/model/DogRequest.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.openapitools.model.PetRequest;