codegen: Support top level nullables on json responses #4351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Use case for this is being able to migrate an endpoint that returns an 'Option[Foo]'. It seemed to me that adding
nullable: true
is the most natural way to declare this in openapi 3.0; although I'm aware that this was removed in openapi 3.1, so I've also added support for declaring nullability with multiple types (i.e.type: ['null', 'object']
). I'm not sure what long-term plans really are for version support, but figured it'd be better to support the feature for both 3.0 and 3.1 specificationsEdit: this might not really be what I want actually. Might want to be able to declare optionality by specifying that one status code (e.g. 204) doesn't return a body, and derive it for a oneOf...