SPR-6906 - Combination of ControllerClassNameHandlerMapping and @RequestMappings with file extensions results in exception
This commit is contained in:
parent
ac9a625ccc
commit
21fd150894
|
|
@ -26,9 +26,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
|
||||||
/** @author Arjen Poutsma */
|
/** @author Arjen Poutsma */
|
||||||
@Controller
|
@Controller
|
||||||
public class FooController {
|
public class ControllerClassNameController {
|
||||||
|
|
||||||
@RequestMapping(value = "{id}", method = RequestMethod.GET)
|
@RequestMapping(value = {"{id}", "{id}.*"}, method = RequestMethod.GET)
|
||||||
public void plain(Writer writer, @PathVariable("id") String id) throws IOException {
|
public void plain(Writer writer, @PathVariable("id") String id) throws IOException {
|
||||||
writer.write("plain-" + id);
|
writer.write("plain-" + id);
|
||||||
}
|
}
|
||||||
|
|
@ -350,7 +350,7 @@ public class UriTemplateServletAnnotationControllerTests {
|
||||||
protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent)
|
protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent)
|
||||||
throws BeansException {
|
throws BeansException {
|
||||||
GenericWebApplicationContext wac = new GenericWebApplicationContext();
|
GenericWebApplicationContext wac = new GenericWebApplicationContext();
|
||||||
wac.registerBeanDefinition("controller", new RootBeanDefinition(FooController.class));
|
wac.registerBeanDefinition("controller", new RootBeanDefinition(ControllerClassNameController.class));
|
||||||
RootBeanDefinition mapping = new RootBeanDefinition(ControllerClassNameHandlerMapping.class);
|
RootBeanDefinition mapping = new RootBeanDefinition(ControllerClassNameHandlerMapping.class);
|
||||||
mapping.getPropertyValues().add("excludedPackages", null);
|
mapping.getPropertyValues().add("excludedPackages", null);
|
||||||
wac.registerBeanDefinition("handlerMapping", mapping);
|
wac.registerBeanDefinition("handlerMapping", mapping);
|
||||||
|
|
@ -360,15 +360,20 @@ public class UriTemplateServletAnnotationControllerTests {
|
||||||
};
|
};
|
||||||
servlet.init(new MockServletConfig());
|
servlet.init(new MockServletConfig());
|
||||||
|
|
||||||
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/foo/bar");
|
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/controllerclassname/bar");
|
||||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||||
servlet.service(request, response);
|
servlet.service(request, response);
|
||||||
assertEquals("plain-bar", response.getContentAsString());
|
assertEquals("plain-bar", response.getContentAsString());
|
||||||
|
|
||||||
request = new MockHttpServletRequest("GET", "/foo/bar.pdf");
|
request = new MockHttpServletRequest("GET", "/controllerclassname/bar.pdf");
|
||||||
response = new MockHttpServletResponse();
|
response = new MockHttpServletResponse();
|
||||||
servlet.service(request, response);
|
servlet.service(request, response);
|
||||||
assertEquals("pdf-bar", response.getContentAsString());
|
assertEquals("pdf-bar", response.getContentAsString());
|
||||||
|
|
||||||
|
request = new MockHttpServletRequest("GET", "/controllerclassname/bar.do");
|
||||||
|
response = new MockHttpServletResponse();
|
||||||
|
servlet.service(request, response);
|
||||||
|
assertEquals("plain-bar", response.getContentAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue