fix optional parameters and collection format in go api client

This commit is contained in:
William Cheng
2017-01-05 19:32:00 +08:00
parent db03c35973
commit aae7e2ccca
3 changed files with 47 additions and 31 deletions

View File

@@ -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}}

View File

@@ -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{ "*/*", }

View File

@@ -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) {