@RequestMapping
用于映射请求路径
可以添加在类或方法上
请求类型
请求类型包括GET、POST、PUT、DELETE等
默认支持GET和POST两种方式
简写:@GetMapping、@PostMapping、@PutMapping、@DeleteMapping
@PostMapping("/buy")
等价
@RequestMapping("/buy",method = RequestMethod.POST)
接收参数
提交的参数名和目标方法的形参名保持一致,会自动传递给目标方法上的形参
中文乱码
提交请求参数,输入中文,get没有乱码,post有乱码(使用框架提供的过滤器,或自定义过滤器)
支持Ant风格资源地址
@PathVariable
从URI中获取参数
可以把value省略
@RequestParam
从请求携带的参数中获取(查询或表单)
适用于参数少的情况,参数多可以使用对象参数接收
如果希望将请求参数的值都获取到,可以使用map,但是有多个值(List)只会取第一个,因为map的key是唯一的
请求参数
表单参数
1. 方法的形参用对应的类型来指定即可, SpringMVC会自动的进行封装
2. 表单请求参数名和对象的字段名保持一致
3. 如果属性是对象,通过 对象名.字段名,参数名是 pet.id和pet.name
4、框架会自动调用构造函数和对应的set()方法,如果请求参数是name,执行setName()