获取前端参数
当前端发送一个请求时,如何使用Spring MVC获取请求中携带的参数呢?在请求中可以有很多种携带参数的方式,获取的方式也不一样,本文介绍如何获取url上的参数,路径变量上的参数,以及请求体中的参数
@RequestParam
需要获取url上的参数,只需要在请求处理方法中,添加需要获取的参数,参数的名字就是请求中携带的参数名字,参数的类型可以对应请求中携带的参数类型,然后在参数前添加@RequestParam
注解,就可以获取url上的参数了
@RestController
public class MyController {
@GetMapping(path = "/user")
public Map<String, Object> queryUser(@RequestParam String name, @RequestParam int age) {
HashMap<String, Object> result = new HashMap<>();
result.put("name", name);
result.put("age", age);
return result;
}
}
示例中将请求携带的参数获取,然后再添加到返回的数据中
测试结果如下
正常获取了前端在url上的参数并返回
required属性
如果我们使用@RequestParam
注解绑定了一个参数,但是请求却没有携带这个参数,这时候请求会得到错误信息,后台也会警告没有这个参数。不过有时我们需要绑定一个可有可无的参数,这时候我们可以使用@RequestParam
注解的required属性
required属性默认值时true,只要我们设置为false,当请求没有携带这个参数时,Spring MVC就会将这个值置为null
@RestController
public class