原始方式:
在原始的web程序中,获取请求参数,需要通过HttpServletRequest 对象手动获取。
@RequestMapping("/simpleParam")
public String simpleParam(HttpServletRequest request){
//获取请求参数
String name = request.getParameter("name");
String ageStr = request.getParameter("age");
int age = Integer.parseInt(ageStr);
System.out.println(name + ":" + age);
return "OK";
}
劣势:较为繁琐。
SpringBoot方式:
简单参数:参数名与形参变量名相同,定义形参即可接收参数。
@RequestMapping("/simpleParam")
public String simpleParam(String name, Integer age){
System.out.println(name + ":" + age);
return "OK";
}
简单参数:如果方法形参名称与请求参数名称不匹配,可以使用 @RequestParam 完成映射。
@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name = "name")String username, Integer age){
System.out.println(username + ":" + age);
return "OK";
}
@RequestParam
中的
required
属性默认为
true
,代表该请求参数必须传递,如果不传递将报错。 如果该参数是可选的,可以将
required
属性设置为
false
。
@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name = "name", required = false)String username, Integer age){
System.out.println(username + ":" + age);
return "OK";
}