我正在通過Play公開HTTP API,並且爲了管理兼容性中斷的更改,URL包含版本號。目前,這看起來像下面這樣:Play框架路由中的非捕獲通配符
GET /api/v1/someMethod com.foo.Api.someMethod()
正如我介紹一個改變的方法之一的輸出,我想支持V2。對於大多數方法來說,行爲是相同的,所以我不關心使用哪個版本。我試圖修改上述行來:
GET /api/v:version/someMethod com.foo.Api.someMethod()
但玩編譯失敗這一點,與錯誤Missing parameter in call definition: version
。
我知道我沒有在通話中使用版本參數 - 因爲我不需要!有沒有一種明智的方式來實現我在這裏之後的目標,或者讓Play跳過此檢查,或者將通配符放在未作爲參數捕獲的路徑中?
(我想,如果不是我可以在參數添加到方法的定義,然後將其忽略。但我寧願避免這種可能的話)。