controller 方法重载
时间: 2023-09-05 15:14:39 浏览: 57
控制器方法重载是指在一个控制器中可以定义多个同名的方法,但是这些方法的参数列表不同。这样做的目的是为了在不同的请求处理场景下,根据不同的参数类型和个数来调用相应的方法进行处理。
在Java中,控制器方法重载可以通过在方法名相同的多个方法上添加不同的参数列表来实现。例如:
```java
@Controller
public class UserController {
@RequestMapping(value = "/user", method = RequestMethod.GET)
public String getUserById(@RequestParam("id") int id) {
// 根据id获取用户信息
return "user";
}
@RequestMapping(value = "/user", method = RequestMethod.POST)
public String createUser(@RequestBody User user) {
// 创建用户
return "redirect:/user";
}
}
```
在上面的例子中,`UserController`定义了两个同名的方法`getUserById`和`createUser`,它们分别处理GET请求和POST请求,并且参数列表不同。当请求为GET方式并且带有"id"参数时,会调用`getUserById`方法;当请求为POST方式时,会调用`createUser`方法。
通过控制器方法重载,可以方便地根据请求方式和参数类型来选择不同的处理方法,提高代码的可读性和灵活性。