问题
I have several (albeit related) questions about Spring MVC RequestMapping configuration:
- Say I have a type-level RequestMapping annotation as follows:
@RequestMapping("/root/")
. What is the difference between adding this method-level RequestMapping:@RequestMapping(value="leaf")
and that one:@RequestMapping(value="/leaf")
? Notice the leading slash in second method-level mapping. - What is the difference between having this type-level RequestMapping:
@RequestMapping("/root/")
and that one@RequestMapping("/root/*")
? Notice the star in second mapping. - Say I already have a type-level RequestMapping annotation. How do I override the type-level mapping at the method-level so that the type-level mapping is ignored (for a given controller)?
回答1:
It should be same mapping in both cases -
/root/leaf
for both method level mappingBoth are same, in both cases the type level mapping will be combined with the method level mapping to generate the full request path, so type level of
/root/*
with the method mapping will become/root/leaf
- more rules are here - http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/util/AntPathMatcher.html#combine(java.lang.String, java.lang.String)I doubt if you can, type level mapping is combined with method level mapping to create the full path.
来源:https://stackoverflow.com/questions/12712232/various-spring-mvc-requestmapping-configuration-questions