openapi
openapi copied to clipboard
Form data not accepted as POST requestBody
I have a yaml file using OpenAPI 3.0.3. All my POST requests have their requestBody described, and they all use application/x-www-form-urlencoded.
When rendered, none of the POST requests show the request data, even when using :examples:.
Here's an example from my yaml file:
/login:
post:
description: Login and get user info
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
email:
type: string
password:
type: string
required:
- email
- password
responses:
200:
description: User Info
content:
application/json:
schema:
$ref: '#/components/schemas/UserInfo'
Here's how I am trying to render this:
.. openapi:: /openapi.yaml
:examples:
Here's what gets rendered on the HTML page:
So, the response gets shown correctly, but not the requestBody.
Looking at openapi30.py, I see the following
https://github.com/sphinx-contrib/openapi/blob/e62e2986b66465e785a7ebd8905d639f1893dedc/sphinxcontrib/openapi/openapi30.py#L305
It's assuming that the requestBody will always be application/json, but my API uses application/x-www-form-urlencoded.