I involved in project where I found a mix of:
@RequestMapping(value = \"events/...\"); @RequestMapping(value = \"/events/...\");
(with and without slas
It does not matter: If the path does not start with an /
then Spring (DefaultAnnotationHandlerMapping) will add it.
See method String[] determineUrlsForHandler(String beanName)
of Class DefaultAnnotationHandlerMapping
line 122 (Spring 3.1.2) (that is for the class level)
String[] methodLevelPatterns = determineUrlsForHandlerMethods(handlerType, true);
for (String typeLevelPattern : typeLevelPatterns) {
if (!typeLevelPattern.startsWith("/")) {
typeLevelPattern = "/" + typeLevelPattern;
}
See method String[] determineUrlsForHandler(Class<?> handlerType, final boolean hasTypeLevelMapping))
of Class DefaultAnnotationHandlerMapping
line 182 (Spring 3.1.2) (that is for the method level)
String[] mappedPatterns = mapping.value();
if (mappedPatterns.length > 0) {
for (String mappedPattern : mappedPatterns) {
if (!hasTypeLevelMapping && !mappedPattern.startsWith("/")) {
mappedPattern = "/" + mappedPattern;
}