Skip to content
This repository was archived by the owner on Nov 11, 2025. It is now read-only.

Commit bfbd065

Browse files
committed
ignore DefaultMapping if V3
1 parent 4819c0c commit bfbd065

File tree

4 files changed

+3
-20
lines changed

4 files changed

+3
-20
lines changed

src/Microsoft.OpenApi/Models/OpenApiDiscriminator.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,6 @@ public void SerializeAsV3(IOpenApiWriter writer)
9595
{
9696
SerializeInternal(writer, OpenApiSpecVersion.OpenApi3_0);
9797

98-
// Write as x-oas-default-mapping extension in 3.0.0
99-
if (DefaultMapping != null)
100-
{
101-
writer.WritePropertyName("x-oas-default-mapping");
102-
DefaultMapping.SerializeAsV3(writer);
103-
}
104-
10598
writer.WriteEndObject();
10699
}
107100

src/Microsoft.OpenApi/Reader/V3/OpenApiDiscriminatorDeserializer.cs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,7 @@ internal static partial class OpenApiV3Deserializer
2424
}
2525
};
2626

27-
private static readonly PatternFieldMap<OpenApiDiscriminator> _discriminatorPatternFields = new() {
28-
{s => s.StartsWith(OpenApiConstants.ExtensionFieldNamePrefix, StringComparison.OrdinalIgnoreCase), (o, p, n, doc) => {
29-
// Handle x-oas-default-mapping as DefaultMapping property
30-
if (p.Equals("x-oas-default-mapping", StringComparison.OrdinalIgnoreCase))
31-
{
32-
o.DefaultMapping = LoadMapping(n, doc);
33-
}
34-
}
35-
}
36-
};
27+
private static readonly PatternFieldMap<OpenApiDiscriminator> _discriminatorPatternFields = new() {};
3728

3829
public static OpenApiDiscriminator LoadDiscriminator(ParseNode node, OpenApiDocument hostDocument)
3930
{

test/Microsoft.OpenApi.Readers.Tests/V3Tests/OpenApiDiscriminatorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public async Task ParseBasicDiscriminatorShouldSucceed()
2828
var openApiDocument = new OpenApiDocument();
2929
var discriminator = OpenApiModelFactory.Load<OpenApiDiscriminator>(memoryStream, OpenApiSpecVersion.OpenApi3_0, OpenApiConstants.Yaml, openApiDocument, out var diagnostic, SettingsFixture.ReaderSettings);
3030

31+
3132
// Assert
3233
Assert.Equivalent(
3334
new OpenApiDiscriminator
@@ -38,8 +39,7 @@ public async Task ParseBasicDiscriminatorShouldSucceed()
3839
["puppy"] = new OpenApiSchemaReference("Dog", openApiDocument),
3940
["kitten"] = new OpenApiSchemaReference("Cat" , openApiDocument, "https://gigantic-server.com/schemas/animals.json"),
4041
["monster"] = new OpenApiSchemaReference("schema.json" , openApiDocument, "https://gigantic-server.com/schemas/Monster/schema.json")
41-
},
42-
DefaultMapping = new OpenApiSchemaReference("Animal", openApiDocument)
42+
}
4343
}, discriminator);
4444
}
4545
}

test/Microsoft.OpenApi.Readers.Tests/V3Tests/Samples/OpenApiDiscriminator/basicDiscriminator.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,3 @@ mapping:
33
puppy: '#/components/schemas/Dog'
44
kitten: https://gigantic-server.com/schemas/animals.json#/components/schemas/Cat
55
monster: https://gigantic-server.com/schemas/Monster/schema.json
6-
x-oas-default-mapping: '#/components/schemas/Animal'

0 commit comments

Comments
 (0)