私はPlayFrameworkを初めて使用します。他のアプリケーションと統合できるように、多数のエンドポイントを公開する大規模なプロジェクトを計画しています。PlayFramework環境で使用できるdjango-pistonのような拡張機能やライブラリはありますか?
4 に答える
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またはその他のライブラリを使用してモデルを実装し、モデルを作成します。
Play! に拡張機能をインストールする必要はありません。REST API を使用するのが最も簡単で、すべて準備完了です! フリーダムピースが提供するチュートリアルを見て、質問があれば戻ってきてください。
実際に Play Framework はフルスタックの Web フレームワークです。サーバーとして Netty/Akka-http を使用すると、コンテナーを実行する必要はありません。
プロジェクトをビルドするための sbt を使用すると、サード パーティのライブラリを依存関係として追加でき、Scala と Java の両方で記述できます。
RESTFul API だけの場合は、conf/routes に集中して URL を定義し、ビジネス ロジックを完成させます。Play Framework のドキュメントは、ここにあります。