diff --git a/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/MessageAwareJsonDecoder.java b/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/MessageAwareJsonDecoder.java index 2da6714a5..16cb4abc7 100644 --- a/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/MessageAwareJsonDecoder.java +++ b/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/MessageAwareJsonDecoder.java @@ -73,7 +73,8 @@ class MessageAwareJsonDecoder extends AbstractDecoder { if (messageMap.containsKey(FunctionRSocketUtils.PAYLOAD)) { Type requestedType = FunctionTypeUtils.getGenericType(targetType.getType()); Object payload; - if (String.class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) { + if (String.class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType())) + || byte[].class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) { Object rawPayload = messageMap.get(FunctionRSocketUtils.PAYLOAD); if (rawPayload instanceof byte[]) { payload = new String((byte[]) rawPayload, StandardCharsets.UTF_8);