Ответ 1
Не имеет значения: если путь не начинается с /
, тогда Spring (DefaultAnnotationHandlerMapping) добавит его.
См. метод String[] determineUrlsForHandler(String beanName)
класса DefaultAnnotationHandlerMapping
строка 122 (Spring 3.1.2) (то есть для уровня класса)
String[] methodLevelPatterns = determineUrlsForHandlerMethods(handlerType, true);
for (String typeLevelPattern : typeLevelPatterns) {
if (!typeLevelPattern.startsWith("/")) {
typeLevelPattern = "/" + typeLevelPattern;
}
См. метод String[] determineUrlsForHandler(Class<?> handlerType, final boolean hasTypeLevelMapping))
класса DefaultAnnotationHandlerMapping
строка 182 (Spring 3.1.2) (то есть для уровня метода)
String[] mappedPatterns = mapping.value();
if (mappedPatterns.length > 0) {
for (String mappedPattern : mappedPatterns) {
if (!hasTypeLevelMapping && !mappedPattern.startsWith("/")) {
mappedPattern = "/" + mappedPattern;
}