我在理解以下 Rest 端點(diǎn)正在做什么時(shí)遇到了很多麻煩 - 更具體地說(shuō),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));}我知道我應(yīng)該為 傳遞一些值"{zoneId:.*\\D+.*}",我以前從未見(jiàn)過(guò)這種格式(zoneId:.*\\D+.*)——那到底是什么?
1 回答

森欄
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
冒號(hào)后面的部分是正則表達(dá)式。\D表示“非數(shù)字”,所以zodeid部分必須包含一個(gè)非數(shù)字,即
OK: /v1/firewall/policy/12X
Not OK: /v1/firewall/policy/123
僅供參考+,意思是“至少一個(gè)”,可以刪除而不會(huì)產(chǎn)生任何影響,因?yàn)橐粋€(gè)是至少一個(gè)。
順便說(shuō)一句,上次我嘗試時(shí),如果您想在您的值中使用點(diǎn),則必須使用允許點(diǎn)的正則表達(dá)式,例如field:.*,因?yàn)槟J(rèn)行為不允許點(diǎn)。
添加回答
舉報(bào)
0/150
提交
取消