Skip to content

Commit 704943c

Browse files
committed
fix: fixes inlining override when they should not happen
Signed-off-by: Vincent Biret <[email protected]>
1 parent 425335e commit 704943c

11 files changed

+51
-18
lines changed

src/Microsoft.OpenApi/Models/OpenApiReference.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,12 @@ public OpenApiReference(OpenApiReference reference)
158158
/// </summary>
159159
public void SerializeAsV31(IOpenApiWriter writer)
160160
{
161-
// summary and description are in 3.1 but not in 3.0
162-
writer.WriteProperty(OpenApiConstants.Summary, Summary);
163-
writer.WriteProperty(OpenApiConstants.Description, Description);
164-
165-
SerializeInternal(writer);
161+
SerializeInternal(writer, x =>
162+
{
163+
// summary and description are in 3.1 but not in 3.0
164+
writer.WriteProperty(OpenApiConstants.Summary, Summary);
165+
writer.WriteProperty(OpenApiConstants.Description, Description);
166+
});
166167
}
167168

168169
/// <summary>
@@ -176,7 +177,7 @@ public void SerializeAsV3(IOpenApiWriter writer)
176177
/// <summary>
177178
/// Serialize <see cref="OpenApiReference"/>
178179
/// </summary>
179-
private void SerializeInternal(IOpenApiWriter writer)
180+
private void SerializeInternal(IOpenApiWriter writer, Action<IOpenApiWriter> callback = null)
180181
{
181182
Utils.CheckArgumentNull(writer);
182183

@@ -188,6 +189,10 @@ private void SerializeInternal(IOpenApiWriter writer)
188189
}
189190

190191
writer.WriteStartObject();
192+
if (callback is not null)
193+
{
194+
callback(writer);
195+
}
191196

192197
// $ref
193198
writer.WriteProperty(OpenApiConstants.DollarRef, ReferenceV3);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void SerializeAsV3(IOpenApiWriter writer)
8080
}
8181
else
8282
{
83-
SerializeInternal(writer, (writer, element) => CopyReferenceAsTargetElementWithOverrides(element).SerializeAsV3(writer));
83+
SerializeInternal(writer, (writer, element) => element.SerializeAsV3(writer));
8484
}
8585
}
8686

@@ -106,7 +106,7 @@ public virtual void SerializeAsV2(IOpenApiWriter writer)
106106
}
107107
else
108108
{
109-
SerializeInternal(writer, (writer, element) => CopyReferenceAsTargetElementWithOverrides(element).SerializeAsV2(writer));
109+
SerializeInternal(writer, (writer, element) => element.SerializeAsV2(writer));
110110
}
111111
}
112112

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"description": "User request body",
3+
"$ref": "#/components/requestBodies/UserRequest"
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"description":"User request body","$ref":"#/components/requestBodies/UserRequest"}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"description": "User creation request body",
3+
"content": {
4+
"application/json": {
5+
"schema": {
6+
"type": "object",
7+
"properties": {
8+
"name": {
9+
"type": "string"
10+
},
11+
"email": {
12+
"type": "string"
13+
}
14+
}
15+
}
16+
}
17+
}
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"description":"User creation request body","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"}}}}}}

0 commit comments

Comments
 (0)