SpringBoot核心功能之Web开发(二)
请求参数处理
一、请求映射
SpringBoot中的请求映射主要通过@RequestMapping注解完成。
Rest风格:使用HTTP请求方式动词来表示对资源的操作。
以前:/getUser 获取用户、/deleteUser 删除用户、/editUser 修改用户、/saveUser 保存用户
Rest:/User GET-获取用户、DELETE-删除用户、PUT-修改用户、POST-保存用户
核心Filter:HiddenMethodFilter
表单默认只能提交get和post请求。只用配置了属性才能提交DELETE/PUT请求(外部method为post)。相应的要在application.yaml中配置:
spring:
mvc:
hiddenmethod:
filter:
enabled: true
与提交DELETE/PUT请求相关的组件如下,它同样在WebMvcAutoConfiguration.class里面
除了GET、POST、PUT、DELETE外,还兼容PATCH请求。
原生request(post)HttpMethodRequestWrapper重写了HttpServletRequest的getMethod方法,返回的是从请求参数_method中传入的值。最后过滤器链放行的时候使用的是HttpMethodRequestWrapper
修改_method参数为_m