Один маршрут с двумя контроллерами
Я хочу использовать один URL с параметрами запроса различий, которые будут обрабатываться различными контроллерами:
GET / area controllers.Application.getXTree(от: Строка, до: Строка)
GET / area controllers.Application.getChildren(parentId:String)
Теперь у меня есть ошибка для второго маршрута:
Для запроса 'GET / Area? ParentId=f785d5cc-c8f7-4ddf-a611-757c8f91f536' [Отсутствует параметр: from]
Можно ли сделать это?
1 ответ
Нет, это невозможно:
Многие маршруты могут соответствовать одному запросу. В случае конфликта используется первый маршрут (в порядке объявления). Маршрутизация с приоритетом
Попробуй это:
GET /areas/:from/:to controllers.Application.getXTree(from: String, to: String)
GET /areas/:parentId controllers.Application.getChildren(parentId:String)
Вы могли бы также использовать
GET /areas/*params controllers.Application.xTreeOrChildren(params)
а потом разбирать params
от Application.xTreeOrChildren
но я предпочитаю первое решение.
Смотрите ScalaRouting для получения дополнительной информации.