1、请求处理参数
1.1 请求参数 @RequestParam
1.1.1 不使用 @RequestParam 注解
请求参数处理, 不使用参数注解 :
1.如果 请求参数名 和请求处理的 形参名一致 ,springMvc 框架会 自动 将你的请求 参数名对应的参数值 , 绑定 到请求方法的 形参中 , 方法内 就可以 直接使用 ,不用手动获取;
2.如果你的请求 没有携带参数 ,不会报错,只不过,请求处理方法的 形参值都是null或其他值 ,如果请求处理方法形参是一个实体参数,原理和单个类型参数一致(只要请求参数名和实体名一致也可以自动绑定);
测试不使用 @RequestParam 注解
@RequestMapping("/testSpringMvcNoRequestParam")
public String testSpringMvcNoRequestParam( String userId,String userName){
System.out.println(String.format("------ 请求参数:uid :%s ,uname:%s------",userId,userName));
return "success";
}
测试 请求不带参数
测试 请求带参数
1.1.3 使用 @RequestParam 注解
@RequestParam 只能 写在请求方法的 形参上 ;
required = false 设置 参数不是必传 ;
defaultValue 默认值 ;
- 1.如果请求处理方法,形参前, 只增加了此注解 ,没有指定任何属性:
- 作用:当前 形参必传 ,且 参数名 与 形参名 必须 一致 ,如果不一致,参数绑定失败,请求直接报400错误,提示你的参数没有提供;
- 2.如果请求处理方法,形参前,只 增加了此注解 ,并 添加了value属性值 :
- 作用:请求的 参数名 必须和 value属性指定 的名称一致,此value属性可以省略(只写 请求参数别名时,如果有其他的属性,value属性必须指定);
- 3.如果要 取消 每个参数的 必传校验 ,可以给此注解增加属性 required=false (默认是true,必传),参数可以不传,不需要参数值的绑定;
- 4.如果某个参数必传,但是为了防止请求没有携带此参数,可以通过指定属性 defaultValue增加默认值 ,如果调用当前请求方法处理,没有提供参数,自动使用默认值,绑定到方法的对应形参中;
测试
@RequestMapping("/testSpringMvcRequestParam")
public String testSpringMvcRequestParam(@RequestParam("uid") String userId,