Я разрабатываю приложение для отображения различных аспектов автомобилей. Приложение имеет древовидную структуру, как это:Длинные динамические маршруты в игровом каркасе 2
Country>Manufacturer>Model>Car_subsystem>Part
Я хочу, чтобы эта структура будет отражена в адресной строке браузера:
http://localhost:9000/Germany/BMW/X6/Body/doors
В настоящее время я делаю это с динамической маршрутизацией играть фреймворка, как показано ниже:
GET /:Country controllers.Application.controllerFunction(Country : String)
GET /:Country/:Manufacturer controllers.Application.controllerFunction(Country : String, Manufacturer : String)
т.д.
Это работает, но я не люблю огибают 5 или 6 параметры для всех моих функций контроллера только для того, чтобы пути были показаны красиво! Есть ли другой путь?
Спасибо. это должно сработать. В моем приложении каждый уровень представлен таблицей в БД и имеет отношение «один к одному» с верхним уровнем, и каждый уровень имеет различные действия (createNew, редактировать, индексировать). Итак, ваше решение работает, но я должен реализовать логику для разных действий на каждом уровне в carResolver (например, editPart, createNewPart, editBody, createNewCountry и т. Д.). Это намного чище, чем мой собственный подход, но, похоже, это большая работа! Что мне волнует, так это просто показать пользователю, где она стоит на дереве. Но я думаю, это для другого вопроса :) – jrook