@requestparam和@requestbody,requestparam的required有默认值吗-

  @requestparam和@requestbody,requestparam的required有默认值吗?

  00-1010用RequestParam遇到的一些坑(总结)来总结加与不加的区别。

  

目录

@ request mapping(/list 1 )公共字符串test1(int userId){ return list ;}@RequestMapping(/list2 )公共字符串test 2(@ request param int userId){ return list ;}(1)没有@RequestParam,前端参数名需要和后端控制器的变量名一致才能生效。

 

  (2)不要求不带@RequestParam参数传递,要求带@RequestParam写参数传递。但是@RequestParam可以被@RequestParam设置为不必要的传输(required=false)。

  (3)@RequestParam可以通过@ @RequestParam("userId ")或@ @RequestParam(value="userId ")指定传递的参数名。

  (4)@RequestParam可以通过@ requestparam (default value="0 ")指定参数的默认值

  (5)如果接口除了前端调用还有后端RPC调用,则@RequestParam不能省略,否则RPC会找不到参数并报错。

  (6)访问期间:

  不带@RequestParam注释:url可以有也可以没有参数,输入localhost:8080/list1和localhost33608080/list1?UserId=xxx方法可以用@RequestParam批注执行:url必须有参数。也就是说,如果直接输入localhost:8080/list2,会报错,不会执行方法。只能输入localhost:8080/list2?UserId=xxx来执行相应的方法。

  

加与不加的区别

@RequestParam有三个常用的注释:

 

  Value:表示前端传递到后端时变量的名称。(比如:从前端传到后端的参数:userName=Tom ,然后@ request param(value= userName )String XXX)

  需要值为true/false的:布尔值。需要注意的是,必选参数的含义其实更接近于这个参数是否包含在从前端传递到后端的参数中。什么意思?比如@ RequestParam (value= userName ,required=true) String XXX),传递userName= 时可以通过验证,也就是required=true时可以通过验证,不停止传递空值,只验证传递的参数是否包含userName。所以测试参数的合法性一般需要自己处理。

  DefaultValue:为参数分配默认值。特别说明:如果设置了defaultValue,则必选设置无效,所以如果设置了defaultValue,则不需要设置必选设置。

  00-1010关于@RequestParam在Spring中的使用以及遇到的一些坑的这篇文章就到此为止。关于在Spring中使用@ requestparam的更多信息,请搜索以前关于流行IT的文章或继续浏览下面的相关文章。我希望你将来能支持流行它!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: