@RequestMapping、@GetMapp、@PostMapp中的正则表达式

  • 现象:

Spring MVC 用@RequestMapping注解处理请求,请求中可以带路径参数,但是对路径参数使用正则表达式却不能匹配,代码如下:

@RequestMapping(method = RequestMethod.GET, value = "/users/{username:[a-z0-9_]+}")

在IDEA中,正则表达式颜色是黑色的:

174733_HlEn_3382918.png

运行也会出现无法匹配的错误。

换成@GetMapping就不会出现问题:

@GetMapping("/users/{username:[a-z0-9_]+}")

IDEA中的截图:

174855_GAGo_3382918.png

同样,@PostMapping使用正则表达式也没有问题:

175111_2WQn_3382918.png

  • 结论:

如果想要带路径参数,不能使用@RequestMapping注解,可以分别换成对应的@GetMapping和@PostMapping注解

  • 说明:

上述问题对应的spring-web jar 版本:spring-web-4.3.2.RELEASE.jar

转载于:https://my.oschina.net/u/3382918/blog/867911

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值