Skip to content

Commit ec9c01b

Browse files
committed
fix: v2 references for properties do not work as expected
1 parent ffac64e commit ec9c01b

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/Microsoft.OpenApi/Models/OpenApiSchema.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,7 @@ internal void WriteAsItemsProperties(IOpenApiWriter writer)
650650
/// <param name="writer">The open api writer.</param>
651651
/// <param name="parentRequiredProperties">The list of required properties in parent schema.</param>
652652
/// <param name="propertyName">The property name that will be serialized.</param>
653-
internal void SerializeAsV2(
653+
internal virtual void SerializeAsV2(
654654
IOpenApiWriter writer,
655655
ISet<string> parentRequiredProperties,
656656
string propertyName)

src/Microsoft.OpenApi/Models/References/OpenApiSchemaReference.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,22 @@ public override void SerializeAsV3(IOpenApiWriter writer)
227227
writer.GetSettings().LoopDetector.PopLoop<OpenApiSchema>();
228228
}
229229

230+
/// <inheritdoc/>
231+
internal override void SerializeAsV2(
232+
IOpenApiWriter writer,
233+
ISet<string> parentRequiredProperties,
234+
string propertyName)
235+
{
236+
if (!writer.GetSettings().ShouldInlineReference(_reference))
237+
{
238+
_reference.SerializeAsV2(writer);
239+
}
240+
else
241+
{
242+
base.SerializeAsV2(writer, parentRequiredProperties, propertyName);
243+
}
244+
}
245+
230246
/// <inheritdoc/>
231247
public override void SerializeAsV2(IOpenApiWriter writer)
232248
{

0 commit comments

Comments
 (0)