我在理解以下 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
提交
取消