Support declarativeBinding mode in DataBinder
Closes gh-30948
This commit is contained in:
@@ -2056,6 +2056,26 @@ class ServletAnnotationControllerHandlerMethodTests extends AbstractServletHandl
|
||||
assertThat(response.getContentAsString()).isEqualTo("value1-true-3");
|
||||
}
|
||||
|
||||
@PathPatternsParameterizedTest
|
||||
void dataClassBindingWithAdditionalSetterInDeclarativeBindingMode(boolean usePathPatterns) throws Exception {
|
||||
initDispatcherServlet(DataClassController.class, usePathPatterns, wac -> {
|
||||
ConfigurableWebBindingInitializer initializer = new ConfigurableWebBindingInitializer();
|
||||
initializer.setDeclarativeBinding(true);
|
||||
|
||||
RootBeanDefinition mappingDef = new RootBeanDefinition(RequestMappingHandlerAdapter.class);
|
||||
mappingDef.getPropertyValues().add("webBindingInitializer", initializer);
|
||||
wac.registerBeanDefinition("handlerAdapter", mappingDef);
|
||||
});
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/bind");
|
||||
request.addParameter("param1", "value1");
|
||||
request.addParameter("param2", "true");
|
||||
request.addParameter("param3", "3");
|
||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||
getServlet().service(request, response);
|
||||
assertThat(response.getContentAsString()).isEqualTo("value1-true-0");
|
||||
}
|
||||
|
||||
@PathPatternsParameterizedTest
|
||||
void dataClassBindingWithResult(boolean usePathPatterns) throws Exception {
|
||||
initDispatcherServlet(ValidatedDataClassController.class, usePathPatterns);
|
||||
|
||||
Reference in New Issue
Block a user