在Spring MVC中,@RequestMapping是一個用來處理請求地址映射的注解。通過使用@RequestMapping注解,可以將請求(包括GET、POST等)映射到相應的處理方法上。
@RequestMapping可以用在類級別和方法級別上。在類級別上使用@RequestMapping注解,可以定義一個基礎的URL路徑。在方法級別上使用@RequestMapping注解,可以定義具體的URL路徑,同時指定處理該URL請求的方法。
以下是@RequestMapping注解的使用示例:
@Controller
@RequestMapping("/users")
public class UserController {
// ...
}
上述代碼中,所有以"/users"開頭的URL請求都將被映射到UserController類中的處理方法上。
@Controller
@RequestMapping("/users")
public class UserController {
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String listUsers() {
// 處理"/users/list"的GET請求
return "userList";
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public String getUserById(@PathVariable("id") int id) {
// 處理"/users/{id}"的GET請求,其中{id}為路徑參數
return "userDetail";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addUser(User user) {
// 處理"/users/add"的POST請求,通過表單提交的數據將自動綁定到User對象中
return "redirect:/users/list";
}
// ...
}
上述代碼中,@RequestMapping注解被用來標注了幾個處理方法。其中,@RequestMapping(value = “/list”, method = RequestMethod.GET)指定了處理"/users/list"的GET請求的方法;@RequestMapping(value = “/{id}”, method = RequestMethod.GET)指定了處理"/users/{id}“的GET請求的方法,其中{id}為路徑參數;@RequestMapping(value = “/add”, method = RequestMethod.POST)指定了處理”/users/add"的POST請求的方法。
在實際使用中,可以根據實際需求更靈活地使用@RequestMapping注解,例如,可以指定請求參數、請求頭等條件來進一步限制請求的映射范圍。