首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

SpringMVC 請求路徑映射規則詳解:類級與方法級 @RequestMapping 組合

     編輯:程式設計綜合問答

URL 映射規則

訪問路徑 = https://host:port/ContextPath/類映射路徑/方法映射路徑

註解組合示例


@Controller
@RequestMapping("/user")           // 類級映射
public class UserController {

    @RequestMapping("/list")       // 方法級映射
    public String list() { ... }   // 訪問:/ContextPath/user/list

    @RequestMapping("/{id:\\d+}")  // 路徑變量 + 正則約束
    public String detail(@PathVariable("id") Long id) { ... } // 訪問:/ContextPath/user/123

    @RequestMapping(value="/save", method=RequestMethod.POST)
    public String save(User user) { ... } // 僅匹配 POST /ContextPath/user/save
}

進階路徑變量用法


@RequestMapping("/{category}/{id:\\d+}/edit")
public String edit(@PathVariable String category, @PathVariable Long id) { ... }
// 匹配:/user/books/456/edit → category="books", id=456

常見誤區

  • 以為類級映射可省略 —— **必須寫**,否則默認映射為 /,易衝突。
  • 方法級映射以 / 開頭 —— **建議加**,語義更清晰。
  • 忽略 method 限制 —— 明確指定 GET/POST/PUT/DELETE 提高安全性。

最佳實踐

  1. 類級映射使用**名詞複數**(/users, /orders)。
  2. 方法級映射遵循 REST 風格:GET /users 列表,POST /users 新增,GET /users/{id} 詳情。
  3. 統一異常處理:@ControllerAdvice + @ExceptionHandler 返回 JSON 錯誤碼。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved