[BUG] [Python] multipart with mixed content
Created by: 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 550774a6
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