SpringBoot-SpringMVC中,常用参数注解总结

/**
 * <pre>
 *
 * 作用在方法参数上的注解/参数对象,实现原理就是HandlerMethodArgumentResolver,参数解析器对每一个参数进行解析
 *
 * @PathVariable String demo 接收单个路径变量
 * @PathVariable Map demo 接收所有的路径变量
 * @RequestHeader String header 接收单个请求头
 * @RequestHeader Map header 接收所有的请求头
 * @RequestParam String param 接收指定的参数
 * @RequestParam List<String> param 接收指定名称的数组参数
 * @RequestParam Map param 接收所有的参数
 * @CookieValue String cookie 获取Cookie值
 * @CookieValue Cookie cookie 获取Cookie对象
 * @RequestBody String content (不能用于GET,这个注解是获取请求体的数据)
 *                              对于表单的请求体,为a=1&b=2
 * @RequestBody 对象类型 content
 *
 * @RequestAttribute String code 获取请求域中的数据
 * @MatrixVariable String key   获取矩阵变量中的值,矩阵变量必须全部封装在路径变量中
 *                              矩阵变量的语法 url;key=value;key2=value2,value22,value222
 *                              url之后,使用";"分割的为矩阵变量,数组方式有两种,一种是key=v1,vn,一种是k=v1,k=v2
 *                              最终的用法 "/luck/{id;key=value;key2=value2,value22,value222}
 *
 *                              默认情况下,矩阵变量是不开启的,用法,实现WebMvcConfigurer接口,修改默认的UrlPathHelper
 *                              @Override
 *                              public void configurePathMatch(PathMatchConfigurer configurer) {
 *                                  // 设置路径匹配的帮助类,默认对象是不支持矩阵变量的,需要开启
 *                                  UrlPathHelper urlPathHelper = new UrlPathHelper();
 *                                  urlPathHelper.setRemoveSemicolonContent(true);
 *                                  configurer.setUrlPathHelper(urlPathHelper);
 *                              }
 * @RequestPart MultipartFile file 当你需要处理上传的文件或者多部分表单中的某个字段时,会自动将对应的请求部分绑定到该参数上
 * @SessionAttribute String name  获取Session域中的指定名称的对对象值
 *
 * RedirectAttributes attriables 获取重定向携带的的数据,通过RedirectAttributesMethodArgumentResolver实现
 *
 * 下面两个作用一样,原理都是可以获取到整个请求链路中,保存到ModelAndViewContainer中的BindingAwareModelMap中的数据,并且最终会放入请求域中
 * Map map 在通过MapMethodProcessor实现,给map赋值的是ModelAndViewContainer对象中保存的一个BindingAwareModelMap对象,它既是Map,也是Model
 * Model model 通过ModelMethodProcessor实现,给map赋值的是ModelAndViewContainer对象中保存的一个BindingAwareModelMap对象,它既是Map,也是Model
 *
 * </pre>
 */

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值