@RequestParam 注解,加与不加的区别
@RequestParam
- 将
申请参数
绑定到控制器办法参数
上 - SpringMVC 提供的接管一般参数的注解
源码:
@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestParam {
@AliasFor(“name”)
String value() default “”;
@AliasFor(“value”)
String name() default “”;
boolean required() default true;
String defaultValue() default “nttnttnue000ue001ue002nttttn”;
}
是 name 属性 还是 value 属性,看前辈的博客说两者皆可,开发中二者都能取得参数,我还没有测试过。
@RequestParam(value=” 参数名 ”,required=”true/false”,defaultValue=””)
/*
- value:参数名
- required:设置是否蕴含该参数,默认是 true,示意该申请门路中必须蕴含该参数,如果不蕴含就会报 400 谬误
- defaultValue:设置默认参数值,如果设置了该值,required=true 就会生效,主动为 false,如果没有传该参数,就应用默认值
/
加与不加
应用不应用该注解,都能够获取参数,但二者还是有区别的。
-
不应用 @RequestParam 注解时,
- 申请门路中不跟 参数,获取的参数为 null;
-
应用 @RequestParam 注解时,
- 申请门路中不跟 参数,页面会报错,返回 400
- 如果设置了 required=”false”,就和不应用 @RequestParam 注解一样了
注解 @RequestParam 如何应用加与不加的区别