forked from loafle/openapi-generator-original
fix: Add prefix and suffix to discriminator (#16684)
Use the existing toModelName method to normalize the discriminator Co-authored-by: Matthias Gabriel <mga@rockstar.jobs>
This commit is contained in:
parent
baf33f0537
commit
4075a52dce
@ -3585,6 +3585,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
.map(p -> (Schema<?>) p.get(discriminatorPropertyName))
|
.map(p -> (Schema<?>) p.get(discriminatorPropertyName))
|
||||||
.map(Schema::get$ref)
|
.map(Schema::get$ref)
|
||||||
.map(ModelUtils::getSimpleRef)
|
.map(ModelUtils::getSimpleRef)
|
||||||
|
.map(this::toModelName)
|
||||||
.orElseGet(() -> typeMapping.get("string"));
|
.orElseGet(() -> typeMapping.get("string"));
|
||||||
discriminator.setPropertyType(propertyType);
|
discriminator.setPropertyType(propertyType);
|
||||||
|
|
||||||
|
@ -1529,6 +1529,25 @@ public class DefaultCodegenTest {
|
|||||||
Assert.assertEquals(cm.discriminator.getMappedModels(), hs);
|
Assert.assertEquals(cm.discriminator.getMappedModels(), hs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testComposedSchemaOneOfDiscriminatorMapPreAndPostFix() {
|
||||||
|
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/oneOfDiscriminator.yaml");
|
||||||
|
DefaultCodegen codegen = new DefaultCodegen();
|
||||||
|
codegen.setLegacyDiscriminatorBehavior(false);
|
||||||
|
codegen.setOpenAPI(openAPI);
|
||||||
|
codegen.setModelNamePrefix("Transfer");
|
||||||
|
codegen.setModelNameSuffix("Dto");
|
||||||
|
String modelName;
|
||||||
|
Schema sc;
|
||||||
|
CodegenModel cm;
|
||||||
|
|
||||||
|
// ref oneOf models with enum property discriminator
|
||||||
|
modelName = "FruitOneOfEnumMappingDisc";
|
||||||
|
sc = openAPI.getComponents().getSchemas().get(modelName);
|
||||||
|
cm = codegen.fromModel(modelName, sc);
|
||||||
|
assertThat(cm.discriminator.getPropertyType()).isEqualTo("TransferFruitTypeEnumDto");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testComposedSchemaMyPetsOneOfDiscriminatorMap() {
|
public void testComposedSchemaMyPetsOneOfDiscriminatorMap() {
|
||||||
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/allOf_composition_discriminator.yaml");
|
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/allOf_composition_discriminator.yaml");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user