有如下几种写法
@RequestMapping("/user")
public String test(@RequestParam String username) {
return null
}
@RequestMapping(value = "/register")
public String register(@RequestParam(value = "name",required =true,defaultValue = "guster")String username,
@RequestParam(value = "pwd",required =true,defaultValue = "guster")String password,
@RequestParam(value = "password2", required = true, defaultValue = "guster") String password2,
HttpServletRequest request){
return null;
}
@RequestMapping("/user")
public String test(String username) {
return null;
}
一二两种类似:必须带有参数,也就是说你直接输入localhost:8080/user会报错 不会执行方法 只能输入localhost:8080/user?username=? 才能执行相应的方法
第三种:可带参数也可不带参数 就是说你输入 localhost:8080/user以及 localhost:8080/user?username=? 方法都能执行
也可以设置 @RequestParam 里面的required为false(默认为true 代表必须带参数) 这样就跟第三种是一样的了
有一个value属性也讲一下, 前面所有的方法 传入的参数必须为username才能接收到值
但是如果你加了value属性,这样会用name代替username也就是说你地址里面传入的参数名称为id localhost:8080/user?name=? 这种