widdershins
widdershins copied to clipboard
Support `oneOf` when describing `requestBody`
Is your feature request related to a problem? Please describe.
I'd like a way to describe two request bodies to the same API path, but with somewhat different bodies. For example, say I have a /user
path, and want to be able to create a regular user and a manager
user, where the manager
user has multiple other fields that need to be set.
Describe the solution you'd like
The OpenAPI 3.0 spec supports oneOf
for requestBody -> content -> application/json -> schema
, per the docs:
requestBody:
description: A JSON object containing pet information
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Cat'
- $ref: '#/components/schemas/Dog'
- $ref: '#/components/schemas/Hamster'
https://swagger.io/docs/specification/describing-request-body/
Right now if you use oneOf
here, it doesn't show any of the requestBodies.
Describe alternatives you've considered I'm also tried using multiple requestBody examples per this other ticket I created, but unfortunately that isn't supported either.
Hi there,
Any ETA for this feature?
Thanks :)
No ETA at the moment, I'm afraid. Pull requests would be very welcome!
Thanks for your answer, I'll look if I can do something
Hi, do we have any ETA on this ? If not can I get a summary of what needs to be changed with possible code pointers where to look for inspiration ? I guess this could be similar to the request response examples right ? Any pitfalls ?
Generally unless an issue is tied to a milestone with a date on it, then there is no ETA. I'll try and take a look at what's (not) going on and either fix or write it up for someone else.
is there still progress on this topic? having no proper support on oneOf/allOf renders the openapi-generator unusable for many use cases
@manuelhartl do you mean openapi-generator
? That's a completely separate project.