我有一堆具有相同前缀的路线:
# with prefixes
GET /api/v1.0/action1 controllers.Api.action1
GET /api/v1.0/action2 controllers.Api.action2
GET /api/v1.0/action3 controllers.Api.action3
GET /api/v1.0/action4 controllers.Api.action4
# normal urls
GET /action1 controllers.Home.action1
GET /action2 controllers.Home.action2
我想摆脱/api/v1.0/
的重复。网址必须保持不变,我只是不想为route
文件中的每个网址手动编写它们。在Rails中它是可能的。如果有办法做到这一点?
答案 0 :(得分:0)
如Rich所述,您可以在James Ropers' post之后为这些操作实施自己的路由器。这样做,允许您将以下内容添加到路径文件中:
-> /api/v1.0 YourPathBindableController
或者,您可以使用插件,例如navigator,它为您提供高级路由。然后,您的导航器路径文件将包含以下内容:
// Namespace ...
namespace("api"){
namespace("v1"){
GET on "index" to Application.index _
}
}
// ... or with reverse routing support
val api = new Namespace("api"){
val v2 = new Namespace("v2"){
val about = GET on "about" to Application.about _
}
}