diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/JsonMessageConverter.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/JsonMessageConverter.java index 961620119..5aff6ec50 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/JsonMessageConverter.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/JsonMessageConverter.java @@ -78,7 +78,7 @@ public class JsonMessageConverter extends AbstractMessageConverter { private boolean canDiscoverConvertToType(Message message, Class targetClass) { if (targetClass == null || targetClass == Object.class) { MimeType mimeType = getMimeType(message.getHeaders()); - if (StringUtils.hasText(mimeType.getParameter("type"))) { + if (mimeType != null && StringUtils.hasText(mimeType.getParameter("type"))) { return true; } return false; diff --git a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/JsonMessageConverterTests.java b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/JsonMessageConverterTests.java index 5af30522e..088fe9db8 100644 --- a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/JsonMessageConverterTests.java +++ b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/JsonMessageConverterTests.java @@ -40,6 +40,8 @@ public class JsonMessageConverterTests { Message message = MessageBuilder.withPayload("{\"name\":\"bill\"}").build(); assertThat(converter.canConvertFrom(message, Person.class)).isTrue(); + assertThat(converter.canConvertFrom(message, Object.class)).isFalse(); + assertThat(converter.canConvertFrom(message, null)).isFalse(); message = MessageBuilder.withPayload("{\"name\":\"bill\"}").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build(); assertThat(converter.canConvertFrom(message, Person.class)).isTrue();