Avoid nested constructor binding if there are no request parameters

Closes gh-31821
This commit is contained in:
rstoyanchev
2023-12-13 18:03:30 +00:00
parent 0970b1dc7a
commit ec0ec7a0d6
5 changed files with 103 additions and 7 deletions

View File

@@ -17,6 +17,7 @@
package org.springframework.web.servlet.mvc.method.annotation;
import java.util.Map;
import java.util.Set;
import jakarta.servlet.ServletRequest;
@@ -121,6 +122,16 @@ public class ExtendedServletRequestDataBinder extends ServletRequestDataBinder {
}
return value;
}
@Override
protected Set<String> initParameterNames(ServletRequest request) {
Set<String> set = super.initParameterNames(request);
Map<String, String> uriVars = getUriVars(getRequest());
if (uriVars != null) {
set.addAll(uriVars.keySet());
}
return set;
}
}
}