1
所以目前我的路由文件是一系列硬編碼版本的路由。如何在Play Framework(2.4.x)的url中乾淨地處理api版本?
GET /v1/companies/$id<[-a-zA-Z0-9]+>/etwasX controllers.Company.etwasX(id:String, q: Option[String])
GET /v1/companies/$id<[-a-zA-Z0-9]+>/etwasY controllers.Company.etwasY(id:String, q: Option[String])
我有大約30條定義的路線。現在我想支持不同的版本。我以爲我可以簡單地這樣做:
GET /v<[0-9]+>/companies/$id<[-a-zA-Z0-9]+>/etwasX controllers.Company.etwasX(id:String, q: Option[String])
但它不工作,如果我把它定義一個$
GET /v$version<[0-9]+>/companies/$id<[-a-zA-Z0-9]+>/etwasX controllers.Company.etwasX(id:String, q: Option[String])
然後抱怨我沒有在一個版本參數控制器方法。除了在每個控制器方法中指定版本之外,還有其他方法嗎?
如果沒有,有沒有辦法我可以以某種方式自動生成所有受支持版本的路由(現在假設它們具有相同的定義)?
我無法將V2添加到相同的conf/routes文件中。 正如在這個要點:https://gist.github.com/jonandersen/4f60c47746de388dc9636a082b5ac30f 有沒有辦法在同一個應用程序中支持多個版本? –