【Spring】@RequestParam详解

@RequestParam的中文意思为“请求参数”,它主要用于将请求参数区域的数据映射到控制层(Controller)方法的参数上。

以下情况@RequestParam可以获取到参数:

1.vue的get请求

2.html的表单

3.html,把参数拼接在url里

@RequestParam注解主要的参数:

  1. value:请求中传入参数的名称,如果不设置后台接口的value值,则会默认为该变量名。
  2. required:该参数是否为必传项。默认是true,表示请求中一定要传入对应的参数,否则会报404错误,如果设置为false时,当请求中没有此参数,将会默认为null
  3. defaultValue:参数的默认值,如果请求中没有同名的参数时,该变量默认为此值。注意默认值可以使用SpEL表达式,如"#{systemProperties[java.vm.version]}"
  4. name:作用同value相同

如果在请求中传入多个同名参数,比如:url?userName=hhh&userName=wo时怎么办?

其实此时传入的数据格式是:"hhh,wo",即多个数据之间使用逗号分隔开,在后台接口中可以使用数组或者list类型的变量来接收:

public String requestparam8(@RequestParam(value="userName") String []  userNames) 

//或者

public String requestparam8(@RequestParam(value="list") List<String> list)

注意:

如果后端使用基本数据类型来接收参数,那么一定要设置required为false并且设置defaultValue以防止500错误,而引用数据类型则无需设置,因为引用数据类型是可以接收null的。

经验分享 程序员 微信小程序 职场和发展