У меня есть вопрос... Я создаю веб-сайт с помощью Play 2.7 (Scala). Я создаю что-то вроде cms ... где вы можете создавать Page , Events, публиковать комментарии и т. д... Я застрял в создании меню навигации, которое должно быть создано из некоторых данных, хранящихся в моих таблицах БД (категории).
Моя проблема в том, что эти «данные» должны извлекаться по каждому запросу (домашняя страница, страница событий, страница сообщений), и я не уверен, как лучше всего это сделать. Я думал об этих трех решениях:
Внедрите службу моей категории в каждый контроллер и передайте для каждого действия данные меню навигации в представлении.
Создайте фильтр, который перед тем, как каждый контроллер вызовет службу, извлечет данные и передаст их через запрос, в конечном итоге в моем шаблоне получите данные из «объекта запроса».
(не уверен, что это возможно) создайте модуль или помощник, который можно использовать непосредственно в шаблоне, например, @GiveMeTheMenu(), который возвращает Seq[Category]
Как вы думаете? любой совет будет большим!! Спасибо вам всем.
Вы имеете в виду REST API? для серверных данных и что-то вроде AngularJS для клиентской части?
да. Просто немного специй, например, безопасное действие в вашем API, чтобы сделать его потрясающим :)
Для управления доступом к API и запросом





Что-то вроде этого @LucatT. Надеюсь, поможет.
routes
GET /menu controllers.HomeController.giveMeTheMenu()
HomeController.scala
def giveMeTheMenu() = SecureUserAction.async { implicit request =>
// Codes here and fetch data from DB..
}
Спасибо ... Я думал о чем-то другом, но да, это может быть правильным подходом. Мне интересно, может быть, лучше создать все приложение на основе REST API. Спасибо за ваш ответ.
Лучшим подходом является создание API.