Throw exception when json-patch append adds primitive to collection o… #2247
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.
Throw exception when json-patch append adds primitive to collection of complex objects
When trying to do an json-patch append to a collection of complex objects, if we provide a primitive such as a string for the value there is no type checking. This causes a type mismatched item to be added to the collection.
Main cause is that org.springframework.data.rest.webmvc.json.patch.JsonPatchPatchConverter#valueFromJsonNode returns JsonLateObjectEvaluator only for complex types. If a primitive value is returned from this method, the value is not checked by the PatchOperation class.