Сегодня мы собираемся разработать простое игровое приложение с использованием Scala. Для этого в нашей системе должен быть установлен sbt .
После установки мы выдаем команду
|
1
|
sbt new playframework/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
|
def index = Action { implicit request => Ok(views.html.index()) } |
Как вы можете видеть, html, который отображается, находится в каталоге views. Play поставляется с Twirl в качестве движка шаблонов. В Conf / Routers мы можем видеть, как маршрут настроен на действие index
Давайте добавим простое действие к тому контроллеру, который возвращает текстовое тело.
|
1
2
3
|
def greet(name: String) = Action { Ok("Hello " + name) } |
Мы должны отредактировать файл маршрутов, чтобы указать новый маршрут и параметр get
|
1
|
GET /greet controllers.HomeController.greet(name) |
Затем выполните запрос на http: // localhost: 9000 / greet? John
На следующем шаге мы добавим новый маршрут с параметром пути
Предположим, мы хотим получить общее количество входов в систему для пользователя. Мы реализуем действие, которое отправляет поддельный номер
|
1
2
3
|
def loginCount(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 . |