From e5108428d444ad7f77c90803c9db27766fb7cdb3 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Thu, 2 Nov 2017 13:50:11 -0400 Subject: [PATCH] GH-1121 Fixed contentType equals logic (#1122) Fixed contentType equals logic --- .../cloud/stream/binder/MessageSerializationUtils.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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()); + } }