|
|
|
@ -64,8 +64,7 @@ public class HttpEntityMethodProcessor extends AbstractMessageConverterMethodPro |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public boolean supportsParameter(MethodParameter parameter) { |
|
|
|
public boolean supportsParameter(MethodParameter parameter) { |
|
|
|
Class<?> parameterType = parameter.getParameterType(); |
|
|
|
return HttpEntity.class.equals(parameter.getParameterType()); |
|
|
|
return HttpEntity.class.equals(parameterType); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
@ -87,12 +86,15 @@ public class HttpEntityMethodProcessor extends AbstractMessageConverterMethodPro |
|
|
|
|
|
|
|
|
|
|
|
private Type getHttpEntityType(MethodParameter parameter) { |
|
|
|
private Type getHttpEntityType(MethodParameter parameter) { |
|
|
|
Assert.isAssignable(HttpEntity.class, parameter.getParameterType()); |
|
|
|
Assert.isAssignable(HttpEntity.class, parameter.getParameterType()); |
|
|
|
ParameterizedType type = (ParameterizedType) parameter.getGenericParameterType(); |
|
|
|
Type parameterType = parameter.getGenericParameterType(); |
|
|
|
if (type.getActualTypeArguments().length == 1) { |
|
|
|
if (parameterType instanceof ParameterizedType) { |
|
|
|
return type.getActualTypeArguments()[0]; |
|
|
|
ParameterizedType type = (ParameterizedType) parameterType; |
|
|
|
|
|
|
|
if (type.getActualTypeArguments().length == 1) { |
|
|
|
|
|
|
|
return type.getActualTypeArguments()[0]; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
throw new IllegalArgumentException("HttpEntity parameter (" + parameter.getParameterName() + |
|
|
|
throw new IllegalArgumentException("HttpEntity parameter '" + parameter.getParameterName() + |
|
|
|
") in method " + parameter.getMethod() + " is not parameterized or has more than one parameter"); |
|
|
|
"' in method " + parameter.getMethod() + " is not parameterized or has more than one parameter"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
|