Skip to content

[BUG] [Python] multipart with mixed content #2165

Description

@rienafairefr

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
Description

The format for multipart/form-data content can specify different types of content in it, this can be useful to for example attach a JSON metadata object to a bunch of uploaded files, like:

requestBody:
  content:
    multipart/form-data:
      schema:
        type: object
        properties:
          metadata:
            description: metadata
            $ref: '#/components/schemas/Metadata'
          files:
            type: array
            items:
              type: string
              format: binary

But the generated client in Python cannot handle this kind of content format. The metadata is not serialized before being included in the multipart form data, just converted to a dict, and urllib3/urlopen afterwards can't do anything to include that in the multipart data.

openapi-generator version

master 550774a

Suggest a fix

The parameter should be json.dumps somewhere in the chain, probably in api_client before being sent to rest
Bonus would be to send the multipart with each part having a different Content-Type header (cf RFC1867), but it's not mandatory

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions