diff --git a/modules/openapi-generator/src/main/resources/go/client.mustache b/modules/openapi-generator/src/main/resources/go/client.mustache index 49fbd071ff0..e66c6317c84 100644 --- a/modules/openapi-generator/src/main/resources/go/client.mustache +++ b/modules/openapi-generator/src/main/resources/go/client.mustache @@ -225,7 +225,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac switch valuesMap := queryParams.(type) { case url.Values: - valuesMap.Add( keyPrefix, value ) + if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" { + valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value) + } else { + valuesMap.Add(keyPrefix, value) + } break case map[string]string: valuesMap[keyPrefix] = value diff --git a/samples/client/petstore/go/go-petstore/client.go b/samples/client/petstore/go/go-petstore/client.go index 02aeed0b0f4..8ec8dc77c78 100644 --- a/samples/client/petstore/go/go-petstore/client.go +++ b/samples/client/petstore/go/go-petstore/client.go @@ -231,7 +231,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac switch valuesMap := queryParams.(type) { case url.Values: - valuesMap.Add( keyPrefix, value ) + if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" { + valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value) + } else { + valuesMap.Add(keyPrefix, value) + } break case map[string]string: valuesMap[keyPrefix] = value diff --git a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go index 17aa6861b06..9cf02fe1f70 100644 --- a/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go +++ b/samples/openapi3/client/extensions/x-auth-id-alias/go-experimental/client.go @@ -215,7 +215,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac switch valuesMap := queryParams.(type) { case url.Values: - valuesMap.Add( keyPrefix, value ) + if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" { + valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value) + } else { + valuesMap.Add(keyPrefix, value) + } break case map[string]string: valuesMap[keyPrefix] = value diff --git a/samples/openapi3/client/petstore/go/go-petstore/client.go b/samples/openapi3/client/petstore/go/go-petstore/client.go index 8db7aa62f1c..7f9f73dba8b 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/client.go +++ b/samples/openapi3/client/petstore/go/go-petstore/client.go @@ -234,7 +234,11 @@ func parameterAddToQuery(queryParams interface{}, keyPrefix string, obj interfac switch valuesMap := queryParams.(type) { case url.Values: - valuesMap.Add( keyPrefix, value ) + if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" { + valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix) + "," + value) + } else { + valuesMap.Add(keyPrefix, value) + } break case map[string]string: valuesMap[keyPrefix] = value