@PathVariable:处理request uri 的注解
@RequestMapping("/pets/{petId}")
public void findPet(@PathVariable String petId)
@RequestParam、@RequestBody:处理request body部分的注解
@RequestParam(value,required)
1)接收form表单参数, value中的参数名称要跟name中参数名称一致
@RequestParam(value="username") String userName
2)用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容( Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型 )
@RequestBody 用于Post请求,不能用于Get请求
1) 常用来处理非Content-Type: application/x-www-form-urlencoded编码格式的数据
2) 用于接收json串 如ajax请求的data参数 可在直接接收转换到Pojo
@RequestBody Map<String, Object> map
@ModelAttribute:将参数绑定到Model对象
<form action="/user/modelAttributeTest" method="post">
用户id:<input type="text" name="userId"><br>
用户名:<input type="text" name="userName"><br>
用户密码:<input type="password" name="userPwd"><br>
<input type="submit" value="提交"><br>
</form>
name的属性值要跟User的属性相对应
Content-Type格式为以下:
1)application/x-www-form-urlencoded,这种情况的数据@RequestParam、@ModelAttribute可以处理,@RequestBody也可以处理
2)multipart/form-data,@RequestBody不能处理这种格式的数据(form表单里面有文件上传时,必须要指定enctype属性值为multipart/form-data)
3)application/json、application/xml等格式的数据,必须使用@RequestBody来处理
网友评论