Сегодня мы собираемся разработать простое игровое приложение с использованием Scala. Для этого в нашей системе должен быть установлен sbt .
После установки мы выдаем команду
| 1 | sbt newplayframework/play-scala-seed.g8 | 
Затем нам предоставляется интерактивный терминал для передачи ценной информации.
| 1 2 3 4 5 | name [play-scala-seed]:PlayStarterorganization [com.example]:com.gkatziourascala_version [2.11.8]:scalatestplusplay_version [2.0.0]:play_version [2.5.13]: | 
Тогда давайте проверим, что мы только что создали
| 1 2 | cd playstartersbt run | 
Перейдите по адресу http: // localhost: 9000, и вы получите базовый мир Play hello.
Смотря на структуру нашего проекта, как и ожидалось, у нас есть каталог с нашими контроллерами. Рассмотрим наш запрос как действие. Мы выдаем запрос, и мы получаем представление HTML.
| 1 2 3 | defindex =Action { implicitrequest =>    Ok(views.html.index())  } | 
Как вы можете видеть, html, который отображается, находится в каталоге views. Play поставляется с Twirl в качестве движка шаблонов. В Conf / Routers мы можем видеть, как маршрут настроен на действие index
Давайте добавим простое действие к тому контроллеру, который возвращает текстовое тело.
| 1 2 3 | defgreet(name:String) =Action {    Ok("Hello "+ name)  } | 
Мы должны отредактировать файл маршрутов, чтобы указать новый маршрут и параметр get
| 1 | GET     /greet                      controllers.HomeController.greet(name) | 
Затем выполните запрос на http: // localhost: 9000 / greet? John
На следующем шаге мы добавим новый маршрут с параметром пути
Предположим, мы хотим получить общее количество входов в систему для пользователя. Мы реализуем действие, которое отправляет поддельный номер
| 1 2 3 | defloginCount(userId:String) =Action {    Ok(14)  } | 
И тогда мы регистрируем маршрут
| 1 | GET     /user/:userId/login/count          controllers.HomeController.loginCount(userId) | 
Выполнив запрос http: // localhost: 9000 / user / 18 / login / count, мы получим число 14.
Подводя итог, мы только что реализовали наше первое приложение Play. Мы также реализовали некоторые базовые действия для нашего контроллера и достигли передачи некоторых параметров пути и запроса.
| Ссылка: | Ваше первое веб-приложение с Play и Scala от нашего партнера JCG Эммануила Гкациоураса в блоге gkatzioura . |