SpringMVC注解学习

文章目录

  • 1、@RequestMapping
  • 2、@PathVariable
  • 3、@RequestParam
  • 4、@RequestHeader
  • 5、@CookieValue
  • 6、@RequestBody
  • 7、@ResponseBody
  • 8、@RestController

1、@RequestMapping

作用:设置请求映射路径
标注位置:类上或方法上

@Controller
//类上,相当于这个类的所有方法都加了这个映射路径,要与getMapping、postMapping等一起用
@RequestMapping("/user")
public class userController(){
	@PostMapping("/login")
	public String login(...){}
}
//方法上,只用于这个方法的请求映射路径
@Controller
public class userController(){
	@RequestMapping("/login")
	public String login(...){}
}

属性(常用的):

  • value:请求映射地址

  • method:请求方法

  • params:请求带的参数
    SpringMVC注解学习_第1张图片

  • headers:请求头
    SpringMVC注解学习_第2张图片

@RequestMapping(
	value = {"/test"},
	method = {RequestMethod.GET}//派生注解@GetMapping
	params = {"userName""password"},
	headers = {Host=localhost:8080}
)

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,用在类上

你可能感兴趣的:(后端,mvc)