1.请求映射
在做所有Web开发之前,编写一个@RestController代码,在所有的方法前面使用@RequestMapping
注解说明此方法能处理什么请求,这个过程称为请求映射。
2.Rest风格
Rest风格支持(使用HTTP请求方式动词来表示对资源的操作)
• 以前:/getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户
• 现在: /user GET-获取用户 DELETE-删除用户 PUT-修改用户 POST-保存用户
例如以下请求路径都是/user,但是以请求方式的不同来确定对张三的操作
3.SprigBoot对Rest的支持
根据源码中的逻辑:
SpringBoot在表单提交时需要带上<input name="_method" type="hidden" value="delete"/>
此句代码(大小写都可以)
同时在配置文件中将filter设置为true
4.Rest原理(表单提交要使用REST的时候)
• 表单提交会带上_method=PUT
• 请求过来被HiddenHttpMethodFilter拦截
• 判断请求是否正常,并且是POST
• 获取到_method的值。
• 兼容以下请求:PUT.DELETE.PATCH
• 原生request(post),包装模式requesWrapper重写了getMethod方法,返回的是传入的值。
• 过滤器链放行的时候用wrapper。以后的方法调用getMethod是调用requesWrapper的。
Rest使用客户端工具
• 如PostMan直接发送Put、delete等方式请求,无需Filter。
同时请求方式也可以这样写:
5.修改请求参数
自定义一个WebConfig类,修该MethodParam参数。