Play Frameworkのルーティングを完全ガイド!初心者でもわかるGET・POST・PUT・DELETEの使い分け
生徒
「Play FrameworkではどうやってGETやPOSTなどのルーティングを使い分けるんですか?URLにアクセスする仕組みがよくわかりません。」
先生
「Play Frameworkでは、ルーティングファイルにHTTPメソッドとURLを書き分けることで、どのリクエストをどのコントローラへ送るかを指定できます。」
生徒
「GET・POST・PUT・DELETEって名前は知っていますが、実際にどう違うのかイメージがわかないです。」
先生
「それでは、Webアプリの基本となるHTTPメソッドの使い分けを、初心者でもわかるように説明していきましょう。」
1. HTTPメソッドとは何か
Play Frameworkのルーティングを理解するためには、まずHTTPメソッドの意味を知ることが大切です。HTTPメソッドは、ブラウザやスマートフォンのアプリがWebサーバに対してどのような操作をしたいかを伝えるための「お願いの種類」のようなものです。
たとえば、買い物サイトをイメージするとわかりやすく、一覧を見る・商品を追加する・情報を変更する・削除する、という操作があるように、HTTPにも目的に応じたメソッドがあります。
2. GET・POST・PUT・DELETEの基本的な役割
Web開発の世界では、以下の4つのメソッドがよく使われます。
- GET:情報を取得するときに使う
- POST:新しいデータをサーバに送るときに使う
- PUT:既存データを更新するときに使う
- DELETE:データを削除するときに使う
このように、HTTPメソッドは「Webアプリの操作の種類」を表すものです。Play Frameworkでは、この4種類を適切に使い分けることで、安全で整理されたWebアプリを作ることができます。
3. Play Frameworkのルーティングファイルとは
Play Frameworkでは、conf/routesというファイルにルーティングを記述します。ここに書いた内容が、どのURLにアクセスしたときにどのコントローラのメソッドを呼ぶかを決める仕組みとなっています。
形式は次のように非常にシンプルです。
# メソッド URL コントローラ.アクション
GET /user controllers.UserController.index()
POST /user controllers.UserController.create()
PUT /user/:id controllers.UserController.update(id)
DELETE /user/:id controllers.UserController.delete(id)
このように1行ごとにメソッドとURLとアクションを書いていくだけなので、初心者でも理解しやすい構造になっています。
4. GETルーティング:データを取得する
GETは「見る」ためのメソッドで、データの取得専用です。たとえばユーザーの一覧を表示したいとき、Play Frameworkでは次のようにルーティングを書きます。
GET /users controllers.UserController.list()
そしてJavaのコントローラは次のように書けます。
public class UserController extends Controller {
public Result list() {
return ok("ユーザー一覧を表示します");
}
}
GETを使うときは「表示するだけ」「変更しない」という意識を持つことが大切です。
5. POSTルーティング:新規作成に使う
新しいデータを追加したいときはPOSTを使います。たとえば新しいユーザーを追加するフォームから送信する場合などです。
POST /users controllers.UserController.create()
public class UserController extends Controller {
public Result create() {
return ok("ユーザーを作成しました");
}
}
POSTは「新しい何かを追加する」操作だと覚えると理解しやすいです。
6. PUTルーティング:既存データを更新する
すでに登録されているデータを修正するときに使うのがPUTメソッドです。例えば、ユーザー情報を編集する場合などです。
PUT /users/:id controllers.UserController.update(id)
public class UserController extends Controller {
public Result update(Long id) {
return ok("ユーザー " + id + " を更新しました");
}
}
PUTは「上書きする」というイメージを持つと覚えやすく、REST APIでもよく使われるメソッドです。
7. DELETEルーティング:データを削除する
削除操作を担当するのがDELETEメソッドです。ユーザーの削除や商品の削除など、消す処理を実行したいときに使います。
DELETE /users/:id controllers.UserController.delete(id)
public class UserController extends Controller {
public Result delete(Long id) {
return ok("ユーザー " + id + " を削除しました");
}
}
DELETEは「消す」処理専用なので、他のメソッドと混同しないようにしましょう。
8. GET・POST・PUT・DELETEの使い分けの考え方
Webアプリを作る上で、4つのメソッドは次のように整理できます。
- GET:見るだけ(閲覧)
- POST:新しく追加(作成)
- PUT:既存を更新(変更)
- DELETE:削除(消去)
この4つを役割ごとに正しく使い分けることで、Play Frameworkのルーティングが整理され、読みやすく、安全なアプリケーションを作りやすくなります。
また、REST APIという設計思想でも、この4つのメソッドが基本となります。初心者のうちから役割をしっかり理解しておくと、後で本格的な開発をする際に非常に役立ちます。