SpringMVC中 常用注解总结
1、@RequestMapping
设置请求映射路径,通常标注在类上或方法上。
@Controller
// 类上,相当于这个类的所有方法都加了这个映射路径,要与getMapping、postMapping等一起使用
@RequestMapping("/user")
public class userController(){
@PostMapping("/login")
public String login(){
}
}
// 方法上,只用于这个方法的请求映射路径
@Controller
public class userController(){
@RequestMapping("/login")
public String login(){
}
}
2、@PathVariable
获取请求地址中通过占位符传输的数据并将它们赋值到控制器方法的形参中。
@Controller
public class userController{
@RequestMapping("/userLogin/{userName}/{password}")
public String userLogin(@PathVariable("userName") String userName,
@PathVariable("password") String password){
}
}
3、@RequestParam
将请求参数与控制器方法的形参创建映射关系
属性:
- value:请求参数名;
- required:是否必须传此参数,默认为true;
- defaultValue:设置默认值;
//分页查询
@Controller
public class userController{
@RequestMapping("/page")
public String page(@RequestParam("page",defaultValue = "1") int page,
@RequestParam("pageSize",defaultValue = "10") int pageSize,
@RequestParam("userName",defaultValue = "") String userName){
}
}
4、@RequestHeader
作用:将请求头信息与控制器方法的形参创建映射关系
属性:同@RequestParam
5、@CookieValue
作用:将cookie信息与控制器方法的形参创建映射关系
属性:同@RequestParam
6、@RequestBody
获取请求体,需要在控制器方法设置一个形参。
@Controller
public class userController{
@RequestMapping("/userUpdate")
public String update(@RequestBody User user){
}
}
7、@ResponseBody
标识一个控制器方法,可以将该方法的返回值直接作为响应报文的响应体响应到浏览器。
标注位置:同@RequestMapping
@Controller
public class userController{
@RequestMapping("/userUpdate")
@ResponseBody
public User update(@RequestBody User user){
return user;
}
}
8、@RestController
相当于@Controller+@ResponseBody,用在类上。