Spring MVC @RequestMapping 注解使用方法

3 月,跳不动了?>>> hot3.png

@RequestMapping 注解和 RequestMappingHandlerMapping 是配合起来作用的,先把 @RequestMapping 中的属性搞清楚。@RequestMapping 注解的类函数会被包装成一个 RequestMappingInfo 对象存储起来,收到 http 请求的时候会根据 request 去寻找一个匹配度最好的。

name

这个 name 属性是给这个 RequestMapping 起一个名字 ,至于有什么具体的作用我还没发现。

value 、path

http 的请求路径,可以是正则表达式,也可以是参数占位符。这个属性如果写在 class 级别上,那么该 class 类中的其他被 @RequestMapping 注解的方法都会有作用

method

http 请求方法 , GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE 。这个属性如果写在 class 级别上,那么该 class 类中的其他被 @RequestMapping 注解的方法都会有作用

params

对参数的限定,表达式的方式表示。myParam!=myValue 表示必须有一个名称为 “myParam” 并且值不等于 “myValue ” 的参数。或者是 myParam=myValue ,myParam 表示必须有一个名称为 “myParam” 的参数,参数值可以任意 。!myParam 表示必须不能含有参数 “myParam” 。

这个属性如果写在 class 级别上,那么该 class 类中的其他被 @RequestMapping 注解的方法都会有作用

headers

这个 headers 使用方法和 params 相同。它表示的是 http 的请求头。这个属性如果写在 class 级别上,那么该 class 类中的其他被 @RequestMapping 注解的方法都会有作用

consumes

表示 http 请求头中的 “Content-Type” 请求头。比如 text/plain", "application/* 。 这个属性如果写在 class 级别上,那么该 class 类中的其他被 @RequestMapping 注解的方法都会有作用

produces

表示的是 http 请求头中的 Accept 请求头 , 假设你的 Accept=application/json , 那么请求就会被更精确的映射到 , produces=application/json 的方法上。这个属性如果写在 class 级别上,那么该 class 类中的其他被 @RequestMapping 注解的方法都会有作用

发布了132 篇原创文章 · 获赞 2 · 访问量 555

猜你喜欢

转载自blog.csdn.net/weixin_45839894/article/details/105198366