总结:
- 在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用
- @RequestBody最多只能有一个,而@RequestParam()可以有多个
- RequestBody 接收的是请求体里面的数据,所以一般用POST请求;而RequestParam接收的是key-value里面的参数,所以没啥限制
- 参数带上@RequestBody,对应类里面的某些属性可以没有;但若带上@RequestParam,对应的参数一定要有,否则会报错(但也可以通过required属性来调节)
@RequestMapping(value = "/getList.do", method = RequestMethod.POST)
public String getList( @RequestBody AdminVO adminVO, BindingResult result) {
ThrowableUtils.checkParamArgument(result);
return adminService.getList(adminVO);
}
@RequestMapping(value = "/delete.do", method = RequestMethod.POST)
public String delete(@RequestParam String adminUids) {
return adminService.deleteBatchAdmin(adminUids);
}
- @PathVariable 映射 URL 绑定的占位符,一般用GET请求,用法如下
@RequestMapping(value="/getUser/{name}", method = RequestMethod.GET)
public User getUser(@PathVariable String name){
return userService.selectUser(name);
}
参考