Add support for OAS 3.0 oneOf discriminators #741
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.
Problem
When adding an OpenAPI Discriminator Object to my response schema, rswag doesn't use it to disambiguate between similar schemas specified inside of a
oneOf
. This makes it impossible to express multiple schemas that are potentially ambiguous to the validator.Solution
Implement support for using a Discriminator Object (if available) to disambiguate between schemas to use for response validation.
Important: I'm not a Ruby developer by trade which means that this code likely can be improved by someone who knows what they're doing 馃槄 Any and all suggestions are welcome! I'd love to learn more about this. I've opted not to update the changelog or add documentation yet since I'd like to get feedback on the implementation first.
This concerns this parts of the OpenAPI Specification:
The changes I made are compatible with:
Related Issues
Links to any related issues.
Checklist
Steps to Test or Reproduce
I've added test cases to validate that the library now uses the discriminator object.