PayloadArgumentResolver's MessageConversionException includes original payload type

Issue: SPR-14394
This commit is contained in:
Juergen Hoeller
2016-06-23 17:32:30 +02:00
parent 0345d734e6
commit f5282bc1e3
2 changed files with 6 additions and 5 deletions

View File

@@ -106,7 +106,8 @@ public class PayloadArgumentResolver implements HandlerMethodArgumentResolver {
}
Class<?> targetClass = parameter.getParameterType();
if (ClassUtils.isAssignable(targetClass, payload.getClass())) {
Class<?> payloadClass = payload.getClass();
if (ClassUtils.isAssignable(targetClass, payloadClass)) {
validate(message, parameter, payload);
return payload;
}
@@ -119,8 +120,8 @@ public class PayloadArgumentResolver implements HandlerMethodArgumentResolver {
payload = this.converter.fromMessage(message, targetClass);
}
if (payload == null) {
throw new MessageConversionException(message,
"No converter found to convert to " + targetClass + ", message=" + message);
throw new MessageConversionException(message, "Cannot convert from [" +
payloadClass.getName() + "] to [" + targetClass.getName() + "] for " + message);
}
validate(message, parameter, payload);
return payload;