From dd8957640f941398f70b4fab8877d4d7c5080da8 Mon Sep 17 00:00:00 2001 From: BB223 <79644542+BB223@users.noreply.github.com> Date: Mon, 4 May 2026 17:33:34 +0200 Subject: [PATCH] fix generated JsonTypeName when using underscore in schema names --- .../codegen/languages/JavaJAXRSSpecServerCodegen.java | 2 +- .../src/test/resources/3_0/jaxrs/petstore.yaml | 6 +++--- .../src/gen/java/org/openapitools/model/DogRequest.java | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) 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;