SpringBoot中@RequestParam参数的5种情况说明
⽬录
Spring Boot中@RequestParam参数的5种情况
实例如下:
Spring Boot注解:@RequestParam详解
1.value:参数名字,即⼊参的请求参数名字
3.defaultValue:参数的默认值
Spring Boot中@RequestParam参数的5种情况
实例如下:
// 可带参数可不带参数,⽅法都能执⾏
@RequestMapping("/list")
public String test1(Long userId){
return "";
}
//必须带参数,不带参数会报错,不会执⾏⽅法
@RequestMapping("/list")
public String test2(@RequestParam Long userId){
return "";
}
//true代表必须带参数,和tes2⼀样
@RequestMapping("/list")
public String test3(@RequestParam(required = true) Long userId){
return "";
}
//和test1⼀样,可以带参数也可以不带参数spring framework网络系统参数
@RequestMapping("/list")
public String test4(@RequestParam(required = false) Long userId){
return "";
}
//在地址⾥⾯可以不带参数,如果带了参数会接收,不带参数会默认为0
@RequestMapping("/list")
public String test(@RequestParam(defaultValue = "0") Long userId){
return "";
}
//前⾯⼏种写法中参数必须为userId才能接收到值,但是如果加了value树形,会⽤userId,地址⾥⾯传⼊的参数名称为id
@RequestMapping("/list")
public String test5(@RequestParam(value = "id") Long userId){
return "";
}
Spring Boot注解:@RequestParam详解
@RequestParam主要⽤于将请求参数区域的数据映射到控制层⽅法的参数上,@RequestParam注解参数主要有:
1.value:参数名字,即⼊参的请求参数名字
如keyword表⽰请求的参数区中的名字为keyword的参数的值将传⼊;请求中传⼊参数的名称,如果不设置后台接⼝的value值,则会默认为请求区中参数的变量名。
⽐如上图中第⼀个参数如果不设置value=“keyword”,则前端传⼊的参数名必须为keyword,否则在后台接⼝中keyword将接收不到对应的数据。
默认是true,表⽰请求中⼀定要传⼊对应的参数,否则会报404错误,如果设置为false时,当请求中没有此参数,将会默认为null,⽽对于基本数据类型的变量,则必须有值,这时会抛出空指针异常。
如果允许空值,则接⼝中变量需要使⽤包装类来声明。
3.defaultValue:参数的默认值
如果请求中没有同名的参数时,该变量默认为此值。注意默认值可以使⽤SpEL表达式,如
"#{systemProperties[‘java.vm.version']}"
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。