Один маршрут с двумя контроллерами

Я хочу использовать один 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 для получения дополнительной информации.

Другие вопросы по тегам