【问题标题】:Spring MVC - How to get Controller level RequestMapping parameter inside ControllerSpring MVC - 如何在 Controller 中获取 Controller 级别的 RequestMapping 参数
【发布时间】:2026-02-08 10:00:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: spring-mvc


    【解决方案1】:

    可以在控制器级别使用路径变量{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 {
    

    【讨论】:

      最近更新 更多