Fix getter methods for Java model with additionalProperties#8245
Merged
HugoMario merged 1 commit intoswagger-api:masterfrom Jun 9, 2018
stianlik:additionalPropertiesModelFix
Merged
Fix getter methods for Java model with additionalProperties#8245HugoMario merged 1 commit intoswagger-api:masterfrom stianlik:additionalPropertiesModelFix
HugoMario merged 1 commit intoswagger-api:masterfrom
stianlik:additionalPropertiesModelFix
Conversation
When a model class is configured with additionalProperties, getters for
non-dynamic properties always return null because values have been set as properties
of the map instead of the class. As a workaround, this commit ensures that we these
values are available in getters as well.
This fixes #4970, fixes #5259, and fixes #5187
Contributor
|
thanks @stianlik !!! |
Contributor
|
As I suggested in #5187, could the solution be to flag-enable this jackson-enhanced behavior to preserve compatibility with |
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.
PR checklist
./bin/to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.shand./bin/security/{LANG}-petstore.shif updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\. Did not generate petstore example because that would significantly increase the diff3.0.0branch for changes related to OpenAPI spec 3.0. Default:master.Description of the PR
When a model class is configured with additionalProperties, getters for non-dynamic properties always return null because values have been set as properties of the map instead of the class. As a workaround, this commit ensures that we these values are retrieved from the underlying map.
This (partially) fixes #4970, fixes #5259, and fixes #5187
The issue of
additionalPropertiesis not completely solved by this PR, however, we support the situation whereadditionalPropertiesis of typeobject, or all fields are of the same type asadditionalProperties. I.e. it will not work if we have properties of typeintegerandadditionalPropertiesof typearraydue to incorrect type casting.