请求处理-【源码分析】-Rest映射及源码解析
【摘要】 请求映射@xxxMapping;@GetMapping@PostMapping@PutMapping@DeleteMappingRest风格支持(使用HTTP请求方式动词来表示对资源的操作)以前:/getUser 获取用户/deleteUser 删除用户/editUser 修改用户/saveUser保存用户现在: /userGET-获取用户DELETE-删除用户PUT-修改用户POST-...
请求映射
@xxxMapping;
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
Rest风格支持(使用HTTP请求方式动词来表示对资源的操作)
以前:
/getUser 获取用户
/deleteUser 删除用户
/editUser 修改用户
/saveUser保存用户
现在: /user
GET-获取用户
DELETE-删除用户
PUT-修改用户
POST-保存用户
核心Filter;HiddenHttpMethodFilter
用法
开启页面表单的Rest功能
页面 form的属性method=post,隐藏域 _method=put、delete等(如果直接get或post,无需隐藏域)
编写请求映射
Rest原理(表单提交要使用REST的时候)
表单提交会带上\_method=PUT
请求过来被HiddenHttpMethodFilter拦截
请求是否正常,并且是POST
获取到\_method的值。
兼容以下请求;PUT.DELETE.PATCH
原生request(post),包装模式requesWrapper重写了getMethod方法,返回的是传入的值。
过滤器链放行的时候用wrapper。以后的方法调用getMethod是调用requesWrapper的。
- Rest使用客户端工具。如PostMan可直接发送put、delete等方式请求。
请求处理-【源码分析】-怎么改变默认的_method (了解)
@ConditionalOnMissingBean(HiddenHttpMethodFilter.class)意味着在没有HiddenHttpMethodFilter时,才执行hiddenHttpMethodFilter()。因此,我们可以自定义filter,改变默认的\_method。例如:
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)