@@ -237,18 +237,18 @@ public void SerializeAsV2(IOpenApiWriter writer)
237
237
List < OpenApiParameter > parameters ;
238
238
if ( Parameters == null )
239
239
{
240
- parameters = new ( ) ;
240
+ parameters = [ ] ;
241
241
}
242
242
else
243
243
{
244
- parameters = new ( Parameters ) ;
244
+ parameters = [ .. Parameters ] ;
245
245
}
246
246
247
247
if ( RequestBody != null )
248
248
{
249
249
// consumes
250
- var consumes = RequestBody . Content . Keys . Distinct ( ) . ToList ( ) ;
251
- if ( consumes . Any ( ) )
250
+ var consumes = new HashSet < string > ( RequestBody . Content ? . Keys . Distinct ( StringComparer . OrdinalIgnoreCase ) ?? [ ] , StringComparer . OrdinalIgnoreCase ) ;
251
+ if ( consumes . Count > 0 )
252
252
{
253
253
// This is form data. We need to split the request body into multiple parameters.
254
254
if ( consumes . Contains ( "application/x-www-form-urlencoded" ) ||
@@ -261,19 +261,13 @@ public void SerializeAsV2(IOpenApiWriter writer)
261
261
parameters . Add ( RequestBody . ConvertToBodyParameter ( ) ) ;
262
262
}
263
263
}
264
- else if ( RequestBody . Reference != null )
264
+ else if ( RequestBody . Reference != null && RequestBody . Reference . HostDocument is { } hostDocument )
265
265
{
266
- var hostDocument = RequestBody . Reference . HostDocument ;
267
266
parameters . Add (
268
267
new OpenApiParameterReference ( RequestBody . Reference . Id , hostDocument ) ) ;
269
-
270
- if ( hostDocument != null )
271
- {
272
- consumes = RequestBody . Content . Keys . Distinct ( ) . ToList ( ) ;
273
- }
274
268
}
275
269
276
- if ( consumes . Any ( ) )
270
+ if ( consumes . Count > 0 )
277
271
{
278
272
writer . WritePropertyName ( OpenApiConstants . Consumes ) ;
279
273
writer . WriteStartArray ( ) ;
@@ -294,10 +288,10 @@ public void SerializeAsV2(IOpenApiWriter writer)
294
288
Responses
295
289
. Where ( static r => r . Value . Reference is { HostDocument : not null } )
296
290
. SelectMany ( static r => r . Value . Content ? . Keys ) )
297
- . Distinct ( )
298
- . ToList ( ) ;
291
+ . Distinct ( StringComparer . OrdinalIgnoreCase )
292
+ . ToArray ( ) ;
299
293
300
- if ( produces . Any ( ) )
294
+ if ( produces . Length > 0 )
301
295
{
302
296
// produces
303
297
writer . WritePropertyName ( OpenApiConstants . Produces ) ;
0 commit comments