@@ -237,18 +237,18 @@ public void SerializeAsV2(IOpenApiWriter writer)
237237 List < OpenApiParameter > parameters ;
238238 if ( Parameters == null )
239239 {
240- parameters = new ( ) ;
240+ parameters = [ ] ;
241241 }
242242 else
243243 {
244- parameters = new ( Parameters ) ;
244+ parameters = [ .. Parameters ] ;
245245 }
246246
247247 if ( RequestBody != null )
248248 {
249249 // 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 )
252252 {
253253 // This is form data. We need to split the request body into multiple parameters.
254254 if ( consumes . Contains ( "application/x-www-form-urlencoded" ) ||
@@ -261,19 +261,13 @@ public void SerializeAsV2(IOpenApiWriter writer)
261261 parameters . Add ( RequestBody . ConvertToBodyParameter ( ) ) ;
262262 }
263263 }
264- else if ( RequestBody . Reference != null )
264+ else if ( RequestBody . Reference != null && RequestBody . Reference . HostDocument is { } hostDocument )
265265 {
266- var hostDocument = RequestBody . Reference . HostDocument ;
267266 parameters . Add (
268267 new OpenApiParameterReference ( RequestBody . Reference . Id , hostDocument ) ) ;
269-
270- if ( hostDocument != null )
271- {
272- consumes = RequestBody . Content . Keys . Distinct ( ) . ToList ( ) ;
273- }
274268 }
275269
276- if ( consumes . Any ( ) )
270+ if ( consumes . Count > 0 )
277271 {
278272 writer . WritePropertyName ( OpenApiConstants . Consumes ) ;
279273 writer . WriteStartArray ( ) ;
@@ -294,10 +288,10 @@ public void SerializeAsV2(IOpenApiWriter writer)
294288 Responses
295289 . Where ( static r => r . Value . Reference is { HostDocument : not null } )
296290 . SelectMany ( static r => r . Value . Content ? . Keys ) )
297- . Distinct ( )
298- . ToList ( ) ;
291+ . Distinct ( StringComparer . OrdinalIgnoreCase )
292+ . ToArray ( ) ;
299293
300- if ( produces . Any ( ) )
294+ if ( produces . Length > 0 )
301295 {
302296 // produces
303297 writer . WritePropertyName ( OpenApiConstants . Produces ) ;
0 commit comments