File tree Expand file tree Collapse file tree 3 files changed +12
-4
lines changed
src/Microsoft.OpenApi/Models Expand file tree Collapse file tree 3 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -208,12 +208,13 @@ public void SerializeAsV2(IOpenApiWriter writer)
208208 } ) ;
209209 }
210210 // parameters
211- IDictionary < string , OpenApiParameter > parameters = Components ? . Parameters ;
211+ var parameters = new Dictionary < string , OpenApiParameter > ( Components ? . Parameters ) ;
212212 if ( Components ? . RequestBodies != null )
213213 {
214214 foreach ( var requestBody in Components . RequestBodies )
215215 {
216- parameters . Add ( requestBody . Key , requestBody . Value . ConvertToBodyParameter ( ) ) ;
216+ if ( ! parameters . ContainsKey ( requestBody . Key ) )
217+ parameters . Add ( requestBody . Key , requestBody . Value . ConvertToBodyParameter ( ) ) ;
217218 }
218219 }
219220 writer . WriteOptionalMap (
Original file line number Diff line number Diff line change @@ -261,7 +261,11 @@ public void SerializeAsV2(IOpenApiWriter writer)
261261 } ) ;
262262
263263 if ( RequestBody . Reference . HostDocument != null )
264- consumes = RequestBody . GetEffective ( RequestBody . Reference . HostDocument ) ? . Content . Keys . Distinct ( ) . ToList ( ) ;
264+ {
265+ var effectiveRequestBody = RequestBody . GetEffective ( RequestBody . Reference . HostDocument ) ;
266+ if ( effectiveRequestBody != null )
267+ consumes = effectiveRequestBody . Content . Keys . Distinct ( ) . ToList ( ) ;
268+ }
265269 }
266270
267271 if ( consumes . Any ( ) )
Original file line number Diff line number Diff line change @@ -169,7 +169,10 @@ internal OpenApiBodyParameter ConvertToBodyParameter()
169169
170170 internal IEnumerable < OpenApiFormDataParameter > ConvertToFormDataParameters ( )
171171 {
172- foreach ( var property in Content . First ( ) . Value . Schema . Properties )
172+ var properties = Content != null && Content . Any ( )
173+ ? Content . First ( ) . Value ? . Schema ? . Properties :
174+ new Dictionary < string , OpenApiSchema > ( ) ;
175+ foreach ( var property in properties )
173176 {
174177 var paramSchema = property . Value ;
175178 if ( "string" . Equals ( paramSchema . Type , StringComparison . OrdinalIgnoreCase )
You can’t perform that action at this time.
0 commit comments