diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageSerializationUtils.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageSerializationUtils.java index 62553cef0..52ba843e3 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageSerializationUtils.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageSerializationUtils.java @@ -135,7 +135,7 @@ public abstract class MessageSerializationUtils { private static Object deserializePayload(byte[] bytes, MimeType contentType, Map> payloadTypeCache, Codec codec) { - if ("text".equalsIgnoreCase(contentType.getType()) || MimeTypeUtils.APPLICATION_JSON.equals(contentType)) { + if ("text".equalsIgnoreCase(contentType.getType()) || equalMimeTypeAndSubType(MimeTypeUtils.APPLICATION_JSON, contentType)) { try { return new String(bytes, "UTF-8"); } @@ -166,4 +166,11 @@ public abstract class MessageSerializationUtils { } } } + + /* + * Candidate to go into some utils class + */ + private static boolean equalMimeTypeAndSubType(MimeType m1, MimeType m2) { + return m1.getType().equals(m2.getType()) && m1.getSubtype().equals(m2.getSubtype()); + } }