GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Urllib error when trying to use list inside a form-data · Issue #1394 · openapi-generators/openapi-python-client Open DescriptionDescribe the bug I have an API that accepts a JSON list inside form-data, so the request is expected to look like this:
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):
ActivityMetadataMetadataAssigneesLabelsNo labels TypeProjectsMilestoneRelationshipsDevelopmentIssue actions |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |