diff --git a/spring-web/src/main/java/org/springframework/http/codec/AbstractJacksonEncoder.java b/spring-web/src/main/java/org/springframework/http/codec/AbstractJacksonEncoder.java index ca7aa90e7f8..79f58b01a70 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/AbstractJacksonEncoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/AbstractJacksonEncoder.java @@ -130,10 +130,10 @@ public abstract class AbstractJacksonEncoder extends Jac if (clazz == null) { return true; } - if (MappingJacksonValue.class.isAssignableFrom(elementType.resolve(clazz))) { + if (MappingJacksonValue.class.isAssignableFrom(clazz)) { throw new UnsupportedOperationException("MappingJacksonValue is not supported, use hints instead"); } - return !String.class.isAssignableFrom(elementType.resolve(clazz)); + return !String.class.isAssignableFrom(clazz); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/codec/json/GsonDecoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/GsonDecoder.java index 44a6492f923..3551552edfc 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/json/GsonDecoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/json/GsonDecoder.java @@ -77,10 +77,7 @@ public class GsonDecoder extends AbstractDataBufferDecoder { @Override public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType) { - if (!super.canDecode(elementType, mimeType)) { - return false; - } - return !CharSequence.class.isAssignableFrom(elementType.toClass()); + return super.canDecode(elementType, mimeType) && !CharSequence.class.isAssignableFrom(elementType.toClass()); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/codec/json/GsonEncoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/GsonEncoder.java index f1ae8050dbb..5066e8fabf8 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/json/GsonEncoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/json/GsonEncoder.java @@ -106,8 +106,7 @@ public class GsonEncoder extends AbstractEncoder implements HttpMessageE if (!super.canEncode(elementType, mimeType)) { return false; } - Class clazz = elementType.toClass(); - return !String.class.isAssignableFrom(elementType.resolve(clazz)); + return !String.class.isAssignableFrom(elementType.toClass()); } @Override diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java index 9e8c7d8ddef..28ef0317893 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java @@ -267,9 +267,9 @@ public abstract class AbstractMessageWriterResultHandler extends HandlerResultHa private List getMediaTypesFor(ResolvableType elementType) { List writableMediaTypes = new ArrayList<>(); - for (HttpMessageWriter converter : getMessageWriters()) { - if (converter.canWrite(elementType, null)) { - writableMediaTypes.addAll(converter.getWritableMediaTypes(elementType)); + for (HttpMessageWriter messageWriter : getMessageWriters()) { + if (messageWriter.canWrite(elementType, null)) { + writableMediaTypes.addAll(messageWriter.getWritableMediaTypes(elementType)); } } return writableMediaTypes;