swagger-api/swagger-codegen

[Javascript] collectionFormat which is set to multi don't work when content type is multipart/form-data

Open

#5,149 opened on Mar 22, 2017

View on GitHub
 (3 comments) (0 reactions) (0 assignees)HTML (12,701 stars) (5,474 forks)batch import
Client: JavaScript/Node.jsIssue: Bughelp wanted

Description

Description

I want to have multi same parameter name when "multipart/form-data" is set to parameter type as "array" and collectionFormat is set to "multi".

Swagger-codegen version

latest

Swagger declaration file content or url
  consumes:
    - multipart/form-data
  parameters:
    - name: tags[]
      in: formData
      type: array
      collectionFormat: multi
      items:
        type: string
Command line used for generation

I use docker.

docker run --rm --name swagger_codegen_main_1 -w /gen -e GEN_DIR=/gen -v ~/docker/swagger-codegen:/gen -v /data/swagger_codegen:/local -v ~/.m2/repository:/root/.m2/repository --entrypoint /gen/docker-entrypoint.sh maven:3-jdk-7 generate -i /local/api.yaml -l javascript -o /local/out/javascript

Suggest a Fix

generated callApi in ApiClientjs

  exports.prototype.callApi = function callApi(path, httpMethod, pathParams,
      queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,
      returnType, callback) {

    [snip]

    } else if (contentType == 'multipart/form-data') {
      var _formParams = this.normalizeParams(formParams);
      for (var key in _formParams) {
        if (_formParams.hasOwnProperty(key)) {
          if (this.isFileParam(_formParams[key])) {
            // file field
            request.attach(key, _formParams[key]);
          } else {
            request.field(key, _formParams[key]);
          }
        }
      }

    [snip]
  }

Should "request.field(key, _formParams[key])" be called multiple time when collectionFormat is multi and value type is array?

Contributor guide

[Javascript] collectionFormat which is set to multi don't work when content type is multipart/form-data · swagger-api/swagger-codegen#5149 | Good First Issue