swagger-api / swagger-api/swagger-codegen

[Javascript] File is not uploaded. (The documentation of generated Javascript code is wrong.)

Open
#9,253 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Mustache
Stars
17.8k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

Description

The request is not executed correctly. The file will not be uploaded. The parameter "file" is just the file name, instead of the binary data.

Swagger-codegen version

openapi-generator-cli-3.3.4.jar

Swagger declaration file content or url

Swagger .yaml:

  /orders/upload:
    post:
      operationId: "orderUploadPart"
      summary: "upload a textual or audio part of an order"
      tags:
        - "orders"
      description: "This funktion uploads a textual or audio part of an order to the sense.ai.tion cloud system. 
      The result is the resource identifier, that must be used in the order request."
      consumes:
        - multipart/form-data
      parameters:
        - in: "formData"
          name: "file"
          type: "file"
          required: true
          description: "the file to upload"
        - in: "formData"
          name: "media"
          type: "string"
          enum:
            - "text"
            - "wav"
            - "mp3"
          required: true
          description: "the media type of the the upload, can be ***text***, ***wav*** or ***mp3***"

Code:

var apiInstance = new SenseaitionApi.OrdersApi();
var file = "/path/to/file"; // File | the file to upload
var media = "media_example"; // String | the media type of the the upload, can be ***text***, ***wav*** or ***mp3***
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
apiInstance.orderUploadPart(file, media, callback);

image

Command line used for generation

java -jar ${GOPATH}/bin/openapi-generator-cli.jar generate -i service_js_api.yaml -g javascript -o clients/javascript/senseaition-api-js -Dio.swagger.parser.util.RemoteUrl.trustAll=true

Steps to reproduce

just run sample code

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run the JavaScript generator command against service_js_api.yaml and reproduce the generated clients/javascript/senseaition-api-js example for the multipart upload. Trace how the generated orderUploadPart call handles the file parameter, then verify that the request sends binary file data rather than only the path or file name.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, openapi
Domain
api, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.