Refinement for ResolvableType JSON header

Fix a logic in the `JsonToObjectTransformer.obtainResolvableTypeFromHeadersIfAny`
when we have both `JsonHeaders.RESOLVABLE_TYPE` and `JsonHeaders.TYPE_ID`
and `JsonHeaders.RESOLVABLE_TYPE` header is valid `ResolvableType`, so
`JsonHeaders.TYPE_ID` doesn't override its value to return
This commit is contained in:
Artem Bilan
2019-11-01 15:54:12 -04:00
parent ad97f818cf
commit dd1d65bb23

View File

@@ -148,7 +148,7 @@ public class JsonToObjectTransformer extends AbstractTransformer implements Bean
private ResolvableType obtainResolvableTypeFromHeadersIfAny(MessageHeaders headers) {
Object valueType = headers.get(JsonHeaders.RESOLVABLE_TYPE);
Object typeIdHeader = headers.get(JsonHeaders.TYPE_ID);
if (typeIdHeader != null) {
if (!(valueType instanceof ResolvableType) && typeIdHeader != null) {
Class<?> targetClass = getClassForValue(typeIdHeader);
Class<?> contentClass = null;
Class<?> keyClass = null;