Spring Boot路由函数中如何匹配路径中的数字类型productId
解决方案
- 正确的路径匹配写法是:
RequestPredicates.path("/{productId:[0-9]+}") - 原因:Spring Boot中
RequestPredicates.path()使用的是Ant风格路径表达式,并非直接传入纯正则字符串。要对路径变量做格式约束,需在变量名后通过:[正则规则]的形式添加限定,以此确保productId只能匹配数字格式。
之前尝试的"\d+"或"[0-9]+"无效,是因为这类写法没有结合路径变量定义,Ant路径会将其当作字面量路径进行匹配,自然无法匹配/250这类带前缀斜杠的数字路径。
内容的提问来源于stack exchange,提问作者RamPrakash
相关产品推荐
相关产品推荐

