訪問路徑 = 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 提高安全性。/users, /orders)。GET /users 列表,POST /users 新增,GET /users/{id} 詳情。@ControllerAdvice + @ExceptionHandler 返回 JSON 錯誤碼。