@@ -611,12 +611,12 @@ func FromV3Swagger(swagger *openapi3.Swagger) (*openapi2.Swagger, error) {
611611 if err != nil {
612612 return nil , err
613613 }
614- if len (* formDataParameters ) != 0 {
615- for _ , param := range * formDataParameters {
614+ if len (formDataParameters ) != 0 {
615+ for _ , param := range formDataParameters {
616616 result .Parameters [param .Name ] = param
617617 }
618- } else if len (* bodyOrRefParameters ) != 0 {
619- for _ , param := range * bodyOrRefParameters {
618+ } else if len (bodyOrRefParameters ) != 0 {
619+ for _ , param := range bodyOrRefParameters {
620620 result .Parameters [name ] = param
621621 }
622622 }
@@ -641,7 +641,7 @@ func FromV3Swagger(swagger *openapi3.Swagger) (*openapi2.Swagger, error) {
641641 return result , nil
642642}
643643
644- func consumesToArray (consumes map [string ]bool ) []string {
644+ func consumesToArray (consumes map [string ]struct {} ) []string {
645645 consumesArr := make ([]string , 0 , len (consumes ))
646646 for key := range consumes {
647647 consumesArr = append (consumesArr , key )
@@ -664,6 +664,9 @@ func fromV3RequestBodies(name string, requestBodyRef *openapi3.RequestBodyRef, c
664664 //Only select one formData or request body for an individual requesstBody as swagger 2 does not support multiples
665665 if requestBodyRef .Value != nil {
666666 for contentType , mediaType := range requestBodyRef .Value .Content {
667+ if consumes == nil {
668+ consumes = make (map [string ]struct {})
669+ }
667670 consumes [contentType ] = struct {}{}
668671 if formParams := FromV3RequestBodyFormData (mediaType ); len (formParams ) != 0 {
669672 formParameters = formParams
@@ -905,13 +908,12 @@ func FromV3Operation(swagger *openapi3.Swagger, operation *openapi3.Operation) (
905908 if err != nil {
906909 return nil , err
907910 }
908- if len (* formDataParameters ) != 0 {
909- result .Parameters = append (result .Parameters , * formDataParameters ... )
910- } else if len (* bodyOrRefParameters ) != 0 {
911- //add a single request body
912- for _ , param := range * bodyOrRefParameters {
911+ if len (formDataParameters ) != 0 {
912+ result .Parameters = append (result .Parameters , formDataParameters ... )
913+ } else if len (bodyOrRefParameters ) != 0 {
914+ for _ , param := range bodyOrRefParameters {
913915 result .Parameters = append (result .Parameters , param )
914- break
916+ break // add a single request body
915917 }
916918
917919 }
0 commit comments