Сегодня мы собираемся разработать простое игровое приложение с использованием Scala. Для этого в нашей системе должен быть установлен sbt .
После установки мы выдаем команду
1
|
sbt new playframework/play-scala-seed.g 8 |
Затем нам предоставляется интерактивный терминал для передачи ценной информации.
1
2
3
4
5
|
name [play-scala-seed] : PlayStarter organization [com.example] : com.gkatzioura scala _ version [ 2.11 . 8 ] : scalatestplusplay _ version [ 2.0 . 0 ] : play _ version [ 2.5 . 13 ] : |
Тогда давайте проверим, что мы только что создали
1
2
|
cd playstarter sbt 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 . |