Spring MVC - 如何在Controller中获取Controller级别的RequestMapping参数

时间:2014-01-17 08:40:08

标签: spring-mvc

例如,如果我有一个像这样的Spring MVC控制器:

@Controller
@RequestMapping("/{nickname}")
public class LoginController {
    //...controller code
}

我想要控制器代码中的昵称句柄。我怎么能这样做?

1 个答案:

答案 0 :(得分:5)

您可以在控制器级别使用路径变量{nickname},然后在方法参数级别使用@PathVariable注释。

@Controller
@RequestMapping("/{nickname}")
public class LoginController {
    //...controller code

    @RequestMapping
    public String login(@PathVariable String nickname) {
        // Do something with nickname
    }
}

将路径的一部分固定以识别控制器可能更为明智 - 否则任何无法获得更精确匹配的请求最终可能会被发送到您可能不想要的LoginController 。例如:

@Controller
@RequestMapping("/login/{nickname}")
public class LoginController {