第一:请求路径参数
1.@PathVariable
获取路径参数,如:url/{id}这种形式,接收注解
@PathVariable("id") String userId
2、@RequestParam
获取查询参数,即url?name=zhangsan这种形式,接收注解
@RequestParam(name = "name") String name
3、@RequestBody
请求含有Body,如Post请求中xml,json等数据格式,接收注解
@RequestBody Person person
4、请求头参数以及Cookie
1、@RequestHeader
2、@CookieValue
@RequestHeader(name = "testHeader") String myHeader
@CookieValue(name = "testCookie") String myCookie
5、@ModelAttribute绑定请求参数到命令对象
@ModelAttribute具有三个作用
1.绑定请求到命令对象:放在后台接口方法(控制层)的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用
2.暴露表单引用对象为模型数据:放在处理器的一般方法(非后台接口方法)上时,是为表单准备要展示的表单引用对象,如注册时需要选择所在的城市等,而且在执行后台接口方法之前,自动添加到模型对象中,用于视图页面展示时使用
3.暴露@RequestMapping方法返回值为模型数据:放在后台接口方法的返回值上时,世保禄处理方法的返回值为模型数据,用于视图页面的展示时使用
public String test2(@ModelAttribute("user") UserModel user)
如请求参数包含“?username=lisi&password=12345&workInfo.city=bj”自动绑定到user中的workInfo属性的city属性中