关于SSM中获取请求参数@RequestParam与@PathVariable的区别
相同:都是获取request中绑定的参数
不同:
@RequestParam获取参数的URL格式为:
http://host:port/User?参数名=参数值
对应程序中的代码为:
注:代码是随便截的,返回值,方法名可自己更改
注:@RequestParam(value,required,defaultValue)三个参数的效果
1.value:参数名
2.required:是否必须,默认为true,标示请求参数中必须包含该参 数,如果不包含则抛出异常
3.defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果请求中不包含该参数则使用默认值。
@RequestMapping("User")
public ResultInfo routedata(@RequestParam("参数名")参数类型 参数名){
方法体
}
注:如果传递的参数类型和接受参数的形参类型不一致,则会自动转换,如果转换出错(例如:id传了abc字符串,方法形参使用Long来接受参数),则会报400错误(参数列表错误)。
@PathVariable获取参数的URL格式为:
http://host:port/User/参数名
对应程序中的代码为:
@RequestMapping("User/{参数名}")
注:代码是随便截的,返回值,方法名自己更改
public ResultInfo routedata(@PathVariable("参数名")参数类型 参数名){
方法体
}