Polish Kotlin nullable support
This commit polishes Kotlin nullable support by reusing MethodParameter#isOptional() instead of adding a new MethodParameter#isNullable() method, adds Kotlin tests and introduces Spring Web Reactive support. Issue: SPR-14165
This commit is contained in:
@@ -113,8 +113,7 @@ public class RequestPartMethodArgumentResolver extends AbstractMessageConverterM
|
||||
|
||||
HttpServletRequest servletRequest = request.getNativeRequest(HttpServletRequest.class);
|
||||
RequestPart requestPart = parameter.getParameterAnnotation(RequestPart.class);
|
||||
boolean isRequired = ((requestPart == null || requestPart.required()) && !parameter.isOptional() &&
|
||||
!parameter.isNullable());
|
||||
boolean isRequired = ((requestPart == null || requestPart.required()) && !parameter.isOptional());
|
||||
|
||||
String name = getPartName(parameter, requestPart);
|
||||
parameter = parameter.nestedIfOptional();
|
||||
@@ -157,7 +156,7 @@ public class RequestPartMethodArgumentResolver extends AbstractMessageConverterM
|
||||
throw new MissingServletRequestPartException(name);
|
||||
}
|
||||
}
|
||||
if (parameter.isOptional()) {
|
||||
if (parameter.getParameterType() == Optional.class) {
|
||||
if (arg == null || (arg instanceof Collection && ((Collection) arg).isEmpty()) ||
|
||||
(arg instanceof Object[] && ((Object[]) arg).length == 0)) {
|
||||
arg = Optional.empty();
|
||||
|
||||
Reference in New Issue
Block a user