是否可以在一个方法上使用多个@RequestMapping注释?

如:

@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
  return "welcome";
}

当前回答

不需要。RequestMapping注释支持通配符和蚁式路径。看起来你只是想要一个默认视图,所以你可以

<mvc:view-controller path="/" view-name="welcome"/>

在配置文件中。这将把对根目录的所有请求转发到欢迎视图。

其他回答

不需要。RequestMapping注释支持通配符和蚁式路径。看起来你只是想要一个默认视图,所以你可以

<mvc:view-controller path="/" view-name="welcome"/>

在配置文件中。这将把对根目录的所有请求转发到欢迎视图。

以下也是可以接受的:

@GetMapping(path = { "/{pathVariable1}/{pathVariable1}/somePath", 
                     "/fixedPath/{some-name}/{some-id}/fixed" }, 
            produces = "application/json")

同样也可以应用于@RequestMapping

@RequestMapping有一个String[]值参数,所以你应该能够像这样指定多个值:

@RequestMapping(value={"", "/", "welcome"})

最短的方法是:@RequestMapping({"", "/", "welcome"})

虽然你也可以这样做:

@ requestmaing(价值=“欢迎”) @ requestmaing(路径= "

在我的测试中(spring 3.0.5), @RequestMapping(value={"", "/"}) -只有"/"有效,""无效。然而,我发现这是有效的:@RequestMapping(value={"/", " * "}),“*”匹配任何东西,所以它将是默认的处理程序,如果没有其他。