AdditionalProperties and oneOf in one Schema#765
Merged
deepmap-marcinr merged 4 commits intooapi-codegen:masterfrom Dec 17, 2022
Merged
AdditionalProperties and oneOf in one Schema#765deepmap-marcinr merged 4 commits intooapi-codegen:masterfrom
deepmap-marcinr merged 4 commits intooapi-codegen:masterfrom
Conversation
adrianpk
pushed a commit
to foorester/oapi-codegen
that referenced
this pull request
Jan 16, 2024
* demonstrate error * updated templates * fix template * test
adrianpk
added a commit
to foorester/oapi-codegen
that referenced
this pull request
May 31, 2024
* demonstrate error * updated templates * fix template * test
danicc097
pushed a commit
to danicc097/oapi-codegen
that referenced
this pull request
Aug 31, 2024
* demonstrate error * updated templates * fix template * test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Demonstrates and fixes a problem when a schema has both
additionalPropertiesandoneOfunion, and two clashingMarshalJSONandUnmarshalJSONmethods are generated:#763
The handling isn't perfect, because the fields that belong to the variants also get copied into the additionalProperties on unmarshal (since in the general case with delayed unmarshalling we don't yet know which of the variants we are dealing with)
but it's strictly better than the previous behaviour when invalid code was generated, while it doesn't change the behaviour in all other cases.
An alternative treatment could be that in such cases the additional properties are "propagated down" into the oneOf elements