У меня есть куча маршрутов с одинаковым префиксом:Добавить префикс в кучу адресов
# 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/
. URL-адреса должны оставаться неизменными, я просто не хочу писать их вручную для каждого URL-адреса в файле route
. В Rails это возможно. Если есть способ сделать это?
Если у вас есть такой тривиальный пример, попробуйте: 'GET /api/v1.0/:action controllers.Api.action (действие: String)' и отправка в controller: 'def action (action: String) = Action {def method: java.lang.reflection.Method = getMethodFromNameOrMap (действие); method.invoke()} ' –
@ajozwik, это будет медленным из-за отражения –
, если вы используете кешированную карту (имя карты для метода) - она будет на два раза медленнее обычного вызова. Но стоимость с каждой реализацией JVM ниже. –