为了账号安全,请及时绑定邮箱和手机立即绑定

@RequestMapping(value = "v1/firew

@RequestMapping(value = "v1/firew

慕妹3146593 2021-09-12 16:57:48
我在理解以下 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:.*,因为默认行为不允许点。


查看完整回答
反对 回复 2021-09-12
  • 1 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信