Created by: sebastien-rosset
- When processing discriminators of composed schemas, handle scenario when composed schema has 'null' type
- Remove extraneous characters in comments
- Add traversal of discriminator mappings in case oneOf child schema indirectly refers to discriminator.
- There is no need to duplicate the
get_discriminator_class()
code for every generated class. - Add unit test when discriminator is not specified in payload and handle that scenario in the
get_discriminator_class()
function. IMO, another PR should be provided to provide a better error message when the input data does not contain the discriminator property.
This PR along these:
- Add discriminator memoization + move discriminator logic to the new method and allow deserialization through 2+ discriminators
- Improve composed schema discriminator map
will resolve #4912 (closed)
PR checklist
-
Read the contribution guidelines. -
If contributing template-only or documentation-only changes which will change sample output, build the project before. -
Run the shell script(s) under ./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc). -
File the PR against the correct branch: master
,4.3.x
,5.0.x
. Default:master
. -
Copy the technical committee to review the pull request if your PR is targeting a particular programming language.