@RequestMapping注解的属性及value正则模糊匹配请求路径

目录

请求路径-value属性:

一般用法:

骚操作:

限制请求方式-method属性:

限制请求参数-params属性:

限制请求头-headers属性:


@RequestMapping()大家都知道可以写到类上,也可以写到方法上,用来匹配请求path

请求路径-value属性:

一般用法:

@RequestMapping("/web/index")           匹配  /web/index

@RequestMapping({"/web/index","web/index"})          匹配  /web/index和web/index

@RequestMapping("/web/inde?")           匹配 /web/index、/web/indea,...

@RequestMapping("/web/*")           匹配 /web/index、/web/indea,但是不匹配/web/a/a

@RequestMapping("/web/**")           匹配 /web/index、/web/indea,也匹配/web/a/a

骚操作:

@RequestMapping({"/{[app|web]}/{[queryList|del|save}"}) 

匹配:/app/del、/app/save、/app/queryList

          /web/del、/web/save、/web/queryList

这样写即达到了多个匹配的效果,又方便书写,又不像*那样进入不想进的请求

@RequestMapping() 支持正则表达式,有更多的写法

如:

@RequestMapping(value="/get/{id:\\d+}"),这样的话只能get后面是数字

限制请求方式-method属性:

  • @RequestMapping的method属性是通过限制当前请求的请求方式来匹配请求;
  • 浏览器向服务器发送请求,请求方式有很多GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS、TRACE。可以使用 method 属性来限制请求方式。

如:

@RequestMapping(value = "/testRequest",method = RequestMethod.GET)

限制只能get请求

限制请求参数-params属性:

@RequestMapping的params属性是一个字符串类型的数组,可以通过下面四种表达是来设置匹配关系

“param”:要求请求映射的请求必须为包含 param的请求参数
“!param”:要求请求映射的请求是不能包含param的请求参数
“param=value”:要求请求映射的请求必须包含 param 的请求参数,且 param 参数的值必须为 value
“param!=value”: 要求请求映射的请求是必须包含 param 的请求参数,其值不能为 value。
 

限制请求头-headers属性:

@RequestMapping的headers属性是一个字符串类型的数组,可以通过下面四种表达是来设置匹配关系

“header”:要求请求映射的请求必须为包含 header的请求头信息
“!header”:要求请求映射的请求必须为不包含 header的请求头信息
“header=value”:要求请求映射的请求必须为包含 header的请求头信息,并且header的值必须为value
“header!=value”:要求请求映射的请求必须为包含 header的请求头信息,并且header的值必须不是value

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@RequestMapping注解Spring MVC框架中的一个核心注解,用于映射请求路径和处理方法。它可以应用在类级别和方法级别,用来指定请求的URL路径请求方法、请求头等信息。 @RequestMapping注解的参数规范如下: 1. value:指定请求的URL路径,可以是一个字符串或字符串数组。例如,@RequestMapping("/user")表示处理以"/user"开头的URL请求。 2. method:指定请求的HTTP方法,可以是一个RequestMethod枚举值或枚举数组。例如,@RequestMapping(value="/user", method=RequestMethod.GET)表示处理GET方法的"/user"请求。 3. params:指定请求的参数条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", params="id=1")表示只处理带有"id=1"参数的"/user"请求。 4. headers:指定请求的头部条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", headers="Accept=application/json")表示只处理带有"Accept=application/json"头部的"/user"请求。 5. consumes:指定请求的Content-Type条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", consumes="application/json")表示只接受Content-Type为"application/json"的"/user"请求。 6. produces:指定响应的Content-Type条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", produces="application/json")表示只返回Content-Type为"application/json"的响应。 7. params和headers参数支持更复杂的表达式,如使用运算符(==、!=、>、<、>=、<=)和正则表达式等。 除了以上参数,@RequestMapping注解还支持其他一些参数,如path、name、defaultValue等,可以根据具体需求选择使用。 需要注意的是,Spring MVC还提供了一系列的派生注解,如@GetMapping、@PostMapping、@PutMapping、@DeleteMapping等,它们是对@RequestMapping的进一步封装,更加简洁易用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值