You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring中请求匹配多个RequestMapping时的路由优先级疑问

问题解答

当访问URL路径/specialContent时,一定会路由到handleSpecialContent()方法,核心原因是Spring MVC的请求映射匹配遵循「精确优先」的规则:

  • @GetMapping("/specialContent")是对固定路径的精确匹配,匹配精度最高;
  • @GetMapping("/{content}")是带路径变量的模糊匹配,精度低于精确匹配。

Spring MVC在处理请求时,会自动对所有符合条件的映射按匹配精度从高到低排序,优先选择精度最高的映射对应的方法。哪怕调换两个方法的定义顺序,结果也不会改变——匹配优先级由路径的具体程度决定,和方法编写顺序无关。

你的控制器代码如下:

@RestController
public class ContentController {

    @GetMapping("/specialContent")
    public Map<String, String> handleSpecialContent() {
        Map<String, String> map = handleContent("specialContent");
        map.put("special", "true");
        return map;
    }

    @GetMapping("/{content}")
    public Map<String, String> handleContent(@PathVariable String content) {
        HashMap<String, String> map = new HashMap<>();
        map.put("content", content);
        return map;
    }

}

内容的提问来源于stack exchange,提问作者Rishabh Bajpai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:36:19