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(Schema::get$ref)
|
||||
.map(ModelUtils::getSimpleRef)
|
||||
.map(this::toModelName)
|
||||
.orElseGet(() -> typeMapping.get("string"));
|
||||
discriminator.setPropertyType(propertyType);
|
||||
|
||||
|
@ -1529,6 +1529,25 @@ public class DefaultCodegenTest {
|
||||
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
|
||||
public void testComposedSchemaMyPetsOneOfDiscriminatorMap() {
|
||||
final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/allOf_composition_discriminator.yaml");
|
||||
|
Loading…
x
Reference in New Issue
Block a user