RESTful API для проекта playframework - PullRequest
1 голос
/ 24 июля 2011

Я новичок в игровой рамке. Я планирую большой проект, который будет предоставлять множество конечных точек для других приложений, чтобы они могли интегрироваться с ним; Есть ли у нас какие-либо расширения или библиотеки, такие как django-piston, которые можно использовать в среде playframework?

Ответы [ 4 ]

0 голосов
/ 21 января 2018

В playframewrork для создания API выполните следующее:

  1. Определите маршрут : перейдите к conf/routes, чтобы написать свои маршруты.Вы можете определить обычные маршруты HTTP здесь (GET, PUT, POST и т. Д.).Каждый маршрут будет иметь ссылку на контроллер, например, Hello-контроллер обслуживает следующий маршрут:

GET /hello Application.controllers.Hello.saySomething

Определение контроллера : Затем создайте файл Hello.scala в папке app/controllers.Теперь напишите метод в контроллере, например:

def saySomething = Action {Ok("Im saying hello")}

Если затем вы запустите свое приложение (sbt compile run), вы должны увидеть I'm saying hello в localhost:9000,Более того, вы можете использовать Json или XML вместо строки.Это важно в реальных примерах, если вы хотите «накормить» другие приложения данными, которые имеют стандарт и структуру.Я не хочу вдаваться в подробности, но игра имеет отличную поддержку для Json, вы можете узнать больше здесь .

Что еще? Две другие темычто я хотел бы упомянуть здесь:

Models : Вы можете определить свои модели в папке app/models.Эти модели отвечают за связь с БД или другими внешними источниками;такие как S3.

Представления : Если вы хотите создать приложение из полного стека из вашего API, определите файл представлений в папке app/views.Если вы хотите использовать любой язык сценариев и таблицу стилей, вам нужно определить их в папке /public.

0 голосов
/ 04 ноября 2012

Платформа Play построена на основе Netty, чтобы упростить написание HTTP-сервисов, не имеет значения, отвечают ли они HTML, JSON, XML.Чтобы создать службы, вам нужно настроить маршруты для ресурсов приложения в conf/routes следующим образом.

GET     /api/projects                 controllers.ProjectController.index
POST    /api/projects                 controllers.ProjectController.create
GET     /api/projects/:id             controllers.ProjectController.show(id: Long)
PUT     /api/projects/:id             controllers.ProjectController.update(id: Long)
DELETE  /api/projects/:id             controllers.ProjectController.delete(id: Long)

Затем реализовать методы контроллера примерно так:

def index() = Action { implicit request =>
  Ok(Json.toJson(Project.findAll(request.queryString))
}

Прочтите это для более подробной информации о маршрутизации и контроллерах .

Затем реализуйте свои модели, используя Anorm или некоторую другую библиотеку для создания ваших моделей.

0 голосов
/ 12 января 2016

На самом деле Play Framework - это полноценный веб-фреймворк. С Netty / Akka-http в качестве сервера ему не нужен контейнер для запуска.

С помощью sbt для создания своего проекта вы можете добавить третьи части библиотеки в качестве зависимостей как для написания на Scala, так и на Java.

Если просто RESTFul API, просто сконцентрируйтесь на conf / маршрутах и ​​определите свой URL, а затем закончите свою бизнес-логику. Документы для Play Framework можно найти здесь .

0 голосов
/ 25 июля 2011

Нет необходимости устанавливать расширения в Play !, самое простое - использовать REST API, и все готово! Посмотрите учебник, предоставленный freedompeace, и возвращайтесь, когда у вас возникнут вопросы.

...