我在理解以下 Rest 端点正在做什么时遇到了很多麻烦 - 更具体地说,value = "v1/firewall/policy/{zoneId:.*\\D+.*}"部分: @RequestMapping( method = {RequestMethod.PUT, RequestMethod.POST}, value = "/v1/firewall/policy/{zoneId:.*\\D+.*}", headers = "Accept=application/json")public ResponseEntity post_policy(@RequestBody InformationPolicy informationPolicy, @RequestHeader("deployment-id") String deploymentId) { someService.process(policyInformation, deploymentId); return createResponse(new RestStatus(HttpStatus.OK));}我知道我应该为 传递一些值"{zoneId:.*\\D+.*}",我以前从未见过这种格式(zoneId:.*\\D+.*)——那到底是什么?
1 回答
森栏
TA贡献1810条经验 获得超5个赞
冒号后面的部分是正则表达式。\D表示“非数字”,所以zodeid部分必须包含一个非数字,即
OK: /v1/firewall/policy/12X
Not OK: /v1/firewall/policy/123
仅供参考+,意思是“至少一个”,可以删除而不会产生任何影响,因为一个是至少一个。
顺便说一句,上次我尝试时,如果您想在您的值中使用点,则必须使用允许点的正则表达式,例如field:.*,因为默认行为不允许点。
添加回答
举报
0/150
提交
取消