ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Spring MVC:@RequestMapping

Spring MVC:@RequestMapping 在 Spring MVC 中RequestMapping 支持类级别和方法级别的组合。若类上配置了路径如 /hl方法上配置了子路径如 /func最终访问路径为两者的拼接。关键点1. 路径拼接规则Spring 会自动处理斜杠。类路径 /hl 与方法路径 /func 拼接后为 /hl/func。即使方法路径写为 func无前导斜杠或 /func结果通常一致但建议统一使用前导斜杠以规范代码 。2. 唯一性约束同一应用下最终生成的完整 URL 路径必须唯一。如果存在另一个 Controller 的方法直接映射为 /hl/func或者另一个类方法组合也生成 /hl/func启动时会报 Ambiguous mapping 异常 。3. 尾随斜杠差异Spring Boot 3.x (Spring Framework 6) 默认不再忽略尾随斜杠。/hl/func 与 /hl/func/ 被视为不同路径需确保前端请求路径与后端定义严格匹配 。代码示例import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;RestControllerRequestMapping(/hl) // 类级别基础路径public class HlController {GetMapping(/func) // 方法级别子路径public String func() {return Accessed /hl/func;}}访问地址 GET http://localhost:8080/hl/func避坑指南- 避免在类或方法路径中使用连续斜杠如 //hlSpring 会将其规范化为单斜杠但可能导致歧义或不可访问 。- 若需同时支持 /func 和 /hl/func不能通过同一个 Controller 的简单组合实现需定义两个独立的方法或使用重定向因为一个方法只能映射一组确定的路径模式 。
返回列表