能否为Spring Controller单个方法移除类级@RequestMapping基础路径?
解决方案:无需新建Controller,直接用绝对路径映射
完全可行,不需要新建Controller类,只需要修改someMethod2方法上的@GetMapping路径为绝对路径(以斜杠/开头)即可。
修改后的代码示例:
@RestController @RequestMapping("/api/") public class A { @GetMapping("get") public String someMethod() { return "Hello world!"; } // 用绝对路径,忽略类级的/api/前缀 @GetMapping("/secondGet") public String someMethod2() { return "Hello there!"; } }
原理说明:
Spring MVC的路径映射规则:
- 当方法上的路径不带斜杠开头时,会自动拼接类级
@RequestMapping的路径(比如示例中的get会拼成/api/get); - 当方法上的路径以斜杠开头时,会被视为独立的绝对路径,不会拼接类级前缀,直接映射为
/secondGet。
修改后,someMethod依然通过/api/get访问,someMethod2可直接通过/secondGet访问,完全满足需求。
内容的提问来源于stack exchange,提问作者denstran
相关产品推荐
相关产品推荐

