原始方式:
在原始的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";
}