From 33ef9107e068223b53b9f19cf9b7906aabf769e0 Mon Sep 17 00:00:00 2001 From: divcon Date: Thu, 23 Mar 2023 00:01:53 +0900 Subject: [PATCH] Minor refactoring in PayloadMethodArgumentResolver Closes gh-30168 --- .../support/PayloadMethodArgumentResolver.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/PayloadMethodArgumentResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/PayloadMethodArgumentResolver.java index 46fde5e2b50..ea45ec74908 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/PayloadMethodArgumentResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/PayloadMethodArgumentResolver.java @@ -136,11 +136,7 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol Class targetClass = resolveTargetClass(parameter, message); Class payloadClass = payload.getClass(); - if (ClassUtils.isAssignable(targetClass, payloadClass)) { - validate(message, parameter, payload); - return (isOptionalTargetClass ? Optional.of(payload) : payload); - } - else { + if (!ClassUtils.isAssignable(targetClass, payloadClass)) { if (this.converter instanceof SmartMessageConverter smartConverter) { payload = smartConverter.fromMessage(message, targetClass, parameter); } @@ -151,9 +147,9 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol throw new MessageConversionException(message, "Cannot convert from [" + payloadClass.getName() + "] to [" + targetClass.getName() + "] for " + message); } - validate(message, parameter, payload); - return (isOptionalTargetClass ? Optional.of(payload) : payload); } + validate(message, parameter, payload); + return (isOptionalTargetClass ? Optional.of(payload) : payload); } private String getParameterName(MethodParameter param) {