diff --git a/modules/swagger-codegen/src/main/resources/go/api.mustache b/modules/swagger-codegen/src/main/resources/go/api.mustache index 0b46ce231d6a..1ee2e206581b 100644 --- a/modules/swagger-codegen/src/main/resources/go/api.mustache +++ b/modules/swagger-codegen/src/main/resources/go/api.mustache @@ -36,7 +36,7 @@ func New{{classname}}WithBasePath(basePath string) *{{classname}} { * {{#allParams}}{{#required}} * @param {{paramName}} {{description}} {{/required}}{{/allParams}}{{#hasOptionalParams}} * @param optional (nil or map[string]interface{}) with one or more of: -{{#allParams}}{{^required}} * @param "{{paramName}}" ({{dataType}}) {{description}} +{{#allParams}}{{^required}} * @param "{{paramName}}" ({{dataType}}) {{description}} {{/required}}{{/allParams}}{{/hasOptionalParams}} * @return {{#returnType}}{{^isListContainer}}*{{/isListContainer}}{{{returnType}}}{{/returnType}} */ func (a {{{classname}}}) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{#hasMore}}, {{/hasMore}}{{/required}}{{/allParams}}{{#hasOptionalParams}}localVarOptionals map[string]interface{}{{/hasOptionalParams}}) ({{#returnType}}{{^isListContainer}}*{{/isListContainer}}{{{returnType}}}, {{/returnType}}*APIResponse, error) { @@ -85,11 +85,24 @@ func (a {{{classname}}}) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{#queryParams}} {{#isListContainer}} var collectionFormat = "{{#collectionFormat}}{{collectionFormat}}{{/collectionFormat}}" + {{#required}} localVarQueryParams.Add("{{baseName}}", a.Configuration.APIClient.ParameterToString({{paramName}}, collectionFormat)) - + {{/required}} + {{^required}} + if localVarTempParam, localVarOk := localVarOptionals["{{paramName}}"].({{dataType}}); localVarOptionals != nil && localVarOk { + localVarQueryParams.Add("{{baseName}}", a.Configuration.APIClient.ParameterToString(localVarTempParam, collectionFormat)) + } + {{/required}} {{/isListContainer}} {{^isListContainer}} + {{#required}} localVarQueryParams.Add("{{baseName}}", a.Configuration.APIClient.ParameterToString({{paramName}}, "")) + {{/required}} + {{^required}} + if localVarTempParam, localVarOk := localVarOptionals["{{paramName}}"].({{dataType}}); localVarOptionals != nil && localVarOk { + localVarQueryParams.Add("{{baseName}}", a.Configuration.APIClient.ParameterToString(localVarTempParam, "")) + } + {{/required}} {{/isListContainer}} {{/queryParams}} {{/hasQueryParams}} diff --git a/samples/client/petstore/go/go-petstore/fake_api.go b/samples/client/petstore/go/go-petstore/fake_api.go index 6366bab28994..80e9fc235ca3 100644 --- a/samples/client/petstore/go/go-petstore/fake_api.go +++ b/samples/client/petstore/go/go-petstore/fake_api.go @@ -108,16 +108,16 @@ func (a FakeApi) TestClientModel(body Client) (*Client, *APIResponse, error) { * @param patternWithoutDelimiter None * @param byte_ None * @param optional (nil or map[string]interface{}) with one or more of: - * @param "integer" (int32) None - * @param "int32_" (int32) None - * @param "int64_" (int64) None - * @param "float" (float32) None - * @param "string_" (string) None - * @param "binary" (string) None - * @param "date" (time.Time) None - * @param "dateTime" (time.Time) None - * @param "password" (string) None - * @param "callback" (string) None + * @param "integer" (int32) None + * @param "int32_" (int32) None + * @param "int64_" (int64) None + * @param "float" (float32) None + * @param "string_" (string) None + * @param "binary" (string) None + * @param "date" (time.Time) None + * @param "dateTime" (time.Time) None + * @param "password" (string) None + * @param "callback" (string) None * @return */ func (a FakeApi) TestEndpointParameters(number float32, double float64, patternWithoutDelimiter string, byte_ string, localVarOptionals map[string]interface{}) (*APIResponse, error) { @@ -216,14 +216,14 @@ func (a FakeApi) TestEndpointParameters(number float32, double float64, patternW * To test enum parameters * * @param optional (nil or map[string]interface{}) with one or more of: - * @param "enumFormStringArray" ([]string) Form parameter enum test (string array) - * @param "enumFormString" (string) Form parameter enum test (string) - * @param "enumHeaderStringArray" ([]string) Header parameter enum test (string array) - * @param "enumHeaderString" (string) Header parameter enum test (string) - * @param "enumQueryStringArray" ([]string) Query parameter enum test (string array) - * @param "enumQueryString" (string) Query parameter enum test (string) - * @param "enumQueryInteger" (int32) Query parameter enum test (double) - * @param "enumQueryDouble" (float64) Query parameter enum test (double) + * @param "enumFormStringArray" ([]string) Form parameter enum test (string array) + * @param "enumFormString" (string) Form parameter enum test (string) + * @param "enumHeaderStringArray" ([]string) Header parameter enum test (string array) + * @param "enumHeaderString" (string) Header parameter enum test (string) + * @param "enumQueryStringArray" ([]string) Query parameter enum test (string array) + * @param "enumQueryString" (string) Query parameter enum test (string) + * @param "enumQueryInteger" (int32) Query parameter enum test (double) + * @param "enumQueryDouble" (float64) Query parameter enum test (double) * @return */ func (a FakeApi) TestEnumParameters(localVarOptionals map[string]interface{}) (*APIResponse, error) { @@ -243,10 +243,15 @@ func (a FakeApi) TestEnumParameters(localVarOptionals map[string]interface{}) (* localVarHeaderParams[key] = a.Configuration.DefaultHeader[key] } var collectionFormat = "csv" - localVarQueryParams.Add("enum_query_string_array", a.Configuration.APIClient.ParameterToString(enumQueryStringArray, collectionFormat)) - - localVarQueryParams.Add("enum_query_string", a.Configuration.APIClient.ParameterToString(enumQueryString, "")) - localVarQueryParams.Add("enum_query_integer", a.Configuration.APIClient.ParameterToString(enumQueryInteger, "")) + if localVarTempParam, localVarOk := localVarOptionals["enumQueryStringArray"].([]string); localVarOptionals != nil && localVarOk { + localVarQueryParams.Add("enum_query_string_array", a.Configuration.APIClient.ParameterToString(localVarTempParam, collectionFormat)) + } + if localVarTempParam, localVarOk := localVarOptionals["enumQueryString"].(string); localVarOptionals != nil && localVarOk { + localVarQueryParams.Add("enum_query_string", a.Configuration.APIClient.ParameterToString(localVarTempParam, "")) + } + if localVarTempParam, localVarOk := localVarOptionals["enumQueryInteger"].(int32); localVarOptionals != nil && localVarOk { + localVarQueryParams.Add("enum_query_integer", a.Configuration.APIClient.ParameterToString(localVarTempParam, "")) + } // to determine the Content-Type header localVarHttpContentTypes := []string{ "*/*", } diff --git a/samples/client/petstore/go/go-petstore/pet_api.go b/samples/client/petstore/go/go-petstore/pet_api.go index f2c145643771..a7c5d55d635a 100644 --- a/samples/client/petstore/go/go-petstore/pet_api.go +++ b/samples/client/petstore/go/go-petstore/pet_api.go @@ -111,7 +111,7 @@ func (a PetApi) AddPet(body Pet) (*APIResponse, error) { * * @param petId Pet id to delete * @param optional (nil or map[string]interface{}) with one or more of: - * @param "apiKey" (string) + * @param "apiKey" (string) * @return */ func (a PetApi) DeletePet(petId int64, localVarOptionals map[string]interface{}) (*APIResponse, error) { @@ -206,7 +206,6 @@ func (a PetApi) FindPetsByStatus(status []string) ([]Pet, *APIResponse, error) { var collectionFormat = "csv" localVarQueryParams.Add("status", a.Configuration.APIClient.ParameterToString(status, collectionFormat)) - // to determine the Content-Type header localVarHttpContentTypes := []string{ } @@ -275,7 +274,6 @@ func (a PetApi) FindPetsByTags(tags []string) ([]Pet, *APIResponse, error) { var collectionFormat = "csv" localVarQueryParams.Add("tags", a.Configuration.APIClient.ParameterToString(tags, collectionFormat)) - // to determine the Content-Type header localVarHttpContentTypes := []string{ } @@ -450,8 +448,8 @@ func (a PetApi) UpdatePet(body Pet) (*APIResponse, error) { * * @param petId ID of pet that needs to be updated * @param optional (nil or map[string]interface{}) with one or more of: - * @param "name" (string) Updated name of the pet - * @param "status" (string) Updated status of the pet + * @param "name" (string) Updated name of the pet + * @param "status" (string) Updated status of the pet * @return */ func (a PetApi) UpdatePetWithForm(petId int64, localVarOptionals map[string]interface{}) (*APIResponse, error) { @@ -524,8 +522,8 @@ func (a PetApi) UpdatePetWithForm(petId int64, localVarOptionals map[string]inte * * @param petId ID of pet to update * @param optional (nil or map[string]interface{}) with one or more of: - * @param "additionalMetadata" (string) Additional data to pass to server - * @param "file" (*os.File) file to upload + * @param "additionalMetadata" (string) Additional data to pass to server + * @param "file" (*os.File) file to upload * @return *ModelApiResponse */ func (a PetApi) UploadFile(petId int64, localVarOptionals map[string]interface{}) (*ModelApiResponse, *APIResponse, error) {