Skip to content

Commit fb0af94

Browse files
committed
fix JsonMessageConverter mimetype NPE
1 parent db464c1 commit fb0af94

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/JsonMessageConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ protected boolean canConvertFrom(Message<?> message, @Nullable Class<?> targetCl
7878
private boolean canDiscoverConvertToType(Message<?> message, Class<?> targetClass) {
7979
if (targetClass == null || targetClass == Object.class) {
8080
MimeType mimeType = getMimeType(message.getHeaders());
81-
if (StringUtils.hasText(mimeType.getParameter("type"))) {
81+
if (mimeType != null && StringUtils.hasText(mimeType.getParameter("type"))) {
8282
return true;
8383
}
8484
return false;

spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/JsonMessageConverterTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public void testTypeInference() {
4040

4141
Message<String> message = MessageBuilder.withPayload("{\"name\":\"bill\"}").build();
4242
assertThat(converter.canConvertFrom(message, Person.class)).isTrue();
43+
assertThat(converter.canConvertFrom(message, Object.class)).isFalse();
44+
assertThat(converter.canConvertFrom(message, null)).isFalse();
4345

4446
message = MessageBuilder.withPayload("{\"name\":\"bill\"}").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
4547
assertThat(converter.canConvertFrom(message, Person.class)).isTrue();

0 commit comments

Comments
 (0)