Describe the bug
I have an API that accepts a JSON list inside form-data, so the request is expected to look like this:
input=[{...}, {...}]
However, when I pass the list to the generated client, the request fails with the following error.
Could you please take a look and let me know what might be going wrong here?
from openapi_client import ApiClient, Configuration, DefaultApi, SubmitPostRequestInput, SubmitItem config = Configuration() config.host = "https://api.example.com" api_client = ApiClient(configuration=config) api_instance = DefaultApi(api_client) request_input = SubmitPostRequestInput( [ SubmitItem(flag1=True, flag2=False), SubmitItem(flag1=False, flag2=True) ] ) api_instance.submit_post(input=request_input, inlcude_ses=True)
With the generated client and the code above I am getting the following error
File c:\Users\1592\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\_request_methods.py:264, in RequestMethods.request_encode_body(self, method, url, fields, headers, encode_multipart, multipart_boundary, **urlopen_kw) 259 raise TypeError( 260 "request got values for both 'fields' and 'body', can only specify one." 261 ) 263 if encode_multipart: --> [264](file:///C:/Users/1592/AppData/Local/Programs/Python/Python311/Lib/site-packages/urllib3/_request_methods.py:264) body, content_type = encode_multipart_formdata( 265 fields, boundary=multipart_boundary 266 ) 267 else: 268 body, content_type = ( 269 urlencode(fields), # type: ignore[arg-type] 270 "application/x-www-form-urlencoded", 271 ) File c:\Users\1592\AppData\Local\Programs\Python\Python311\Lib\site-packages\urllib3\filepost.py:[81](file:///C:/Users/1592/AppData/Local/Programs/Python/Python311/Lib/site-packages/urllib3/filepost.py:81), in encode_multipart_formdata(fields, boundary) 79 writer(body).write(data) 80 else: ---> 81 body.write(data) 83 body.write(b"\r\n") 85 body.write(f"--{boundary}--\r\n".encode("latin-1")) TypeError: a bytes-like object is required, not 'list'
Please use the below spec file and above sample snippet to reproduce the issue
OpenAPI Spec File
openapi: 3.0.3 info: title: Simple Form Data API version: 1.0.0 paths: /submit: post: summary: Submit form data with flags requestBody: required: true content: multipart/form-data: schema: type: object properties: input: oneOf: - $ref: '#/components/schemas/SubmitItem' - type: array items: $ref: '#/components/schemas/SubmitItem' inlcude_ses: type: boolean responses: '200': description: Successful submission components: schemas: SubmitItem: type: object properties: flag1: type: boolean flag2: type: boolean
Desktop (please complete the following information):
Activity