@RequestParam注解,加与不加的区别

@RequestParam注解,加与不加的区别

@RequestParamhtml

  • 请求参数 绑定到 控制器方法参数
  • 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";
}ui

是name属性 仍是value属性,看前辈的博客说二者皆可,开发中两者都能得到参数,我尚未测试过。

@RequestParam(value="参数名",required="true/false",defaultValue="")
/*code

  • value:参数名
  • required:设置是否包含该参数,默认是true,表示该请求路径中必须包含该参数,若是不包含就会报400错误
  • defaultValue:设置默认参数值,若是设置了该值,required=true就会失效,自动为false,若是没有传该参数,就使用默认值

/
htm

加与不加

使用不使用该注解,均可以获取参数,但两者仍是有区别的。开发

  • 不使用@RequestParam注解时,get

    • 请求路径中不跟 参数,获取的参数为null;
  • 使用@RequestParam 注解时,源码

    • 请求路径中不跟 参数,页面会报错,返回400
    • 若是设置了required="false",就和不使用@RequestParam注解同样了

注解@RequestParam如何使用加与不加的区别博客

相关文章
相关标签/搜索