如题,这里介绍springboot 获取控制器参数有四种方式
1、无注解下获取参数
2、使用@RequestParam获取参数
3、传递数组
4、通过URL传递参数
无注解下获取参数
无注解下获取参数,需要控制器层参数与HTTP请求栏参数名称一致,这样后台就可以获取到请求栏的参数。
/**
* 无注解获取参数时,参数名称和HTTP请求参数必须一致
* @param name String 姓名
* @param age int 年龄
* @param score double 分数
* @return 响应json字符-@ResponseBody注解将map转为json
*/
@RequestMapping("/param/noannotation")
@ResponseBody
public Map<String, Object> noAnnotation(String name,int age, double score) {
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("name", name);
paramMap.put("age", age);
paramMap.put("score", score);
return paramMap;
}
方法中,我们接收三个参数,分别为name,age和score
启动springboot后,在浏览器中请求URL:http://localhost:8080/param/noannotation?name=zhangsan&age=14&score=89.1
前端页面会自动得到我们输入的参数的json形式
如果我们的请求URL中name不给参数值 http://localhost:8080/param/noannotation?name=&age=12&score=89.1
请求可以正常跳转
如果我们将int 或 long 参数为空,给URL http://localhost:8080/param/noannotation?name=lisi&age=12&score=
请求会报错
无法