カテゴリ: Play Framework 更新日: 2025/12/14

Play Frameworkのルーティングを完全ガイド!初心者でもわかるGET・POST・PUT・DELETEの使い分け

GET・POST・PUT・DELETEルーティングの使い分け
GET・POST・PUT・DELETEルーティングの使い分け

先生と生徒の会話形式で理解しよう

生徒

「Play FrameworkではどうやってGETやPOSTなどのルーティングを使い分けるんですか?URLにアクセスする仕組みがよくわかりません。」

先生

「Play Frameworkでは、ルーティングファイルにHTTPメソッドとURLを書き分けることで、どのリクエストをどのコントローラへ送るかを指定できます。」

生徒

「GET・POST・PUT・DELETEって名前は知っていますが、実際にどう違うのかイメージがわかないです。」

先生

「それでは、Webアプリの基本となるHTTPメソッドの使い分けを、初心者でもわかるように説明していきましょう。」

1. HTTPメソッドとは何か

1. HTTPメソッドとは何か
1. HTTPメソッドとは何か

Play Frameworkのルーティングを理解するためには、まずHTTPメソッドの意味を知ることが大切です。HTTPメソッドは、ブラウザやスマートフォンのアプリがWebサーバに対してどのような操作をしたいかを伝えるための「お願いの種類」のようなものです。

たとえば、買い物サイトをイメージするとわかりやすく、一覧を見る・商品を追加する・情報を変更する・削除する、という操作があるように、HTTPにも目的に応じたメソッドがあります。

2. GET・POST・PUT・DELETEの基本的な役割

2. GET・POST・PUT・DELETEの基本的な役割
2. GET・POST・PUT・DELETEの基本的な役割

Web開発の世界では、以下の4つのメソッドがよく使われます。

  • GET:情報を取得するときに使う
  • POST:新しいデータをサーバに送るときに使う
  • PUT:既存データを更新するときに使う
  • DELETE:データを削除するときに使う

このように、HTTPメソッドは「Webアプリの操作の種類」を表すものです。Play Frameworkでは、この4種類を適切に使い分けることで、安全で整理されたWebアプリを作ることができます。

3. Play Frameworkのルーティングファイルとは

3. Play Frameworkのルーティングファイルとは
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ルーティング:データを取得する

4. GETルーティング:データを取得する
4. GETルーティング:データを取得する

GETは「見る」ためのメソッドで、データの取得専用です。たとえばユーザーの一覧を表示したいとき、Play Frameworkでは次のようにルーティングを書きます。


GET   /users   controllers.UserController.list()

そしてJavaのコントローラは次のように書けます。


public class UserController extends Controller {

    public Result list() {
        return ok("ユーザー一覧を表示します");
    }
}

GETを使うときは「表示するだけ」「変更しない」という意識を持つことが大切です。

5. POSTルーティング:新規作成に使う

5. POSTルーティング:新規作成に使う
5. POSTルーティング:新規作成に使う

新しいデータを追加したいときはPOSTを使います。たとえば新しいユーザーを追加するフォームから送信する場合などです。


POST  /users   controllers.UserController.create()

public class UserController extends Controller {

    public Result create() {
        return ok("ユーザーを作成しました");
    }
}

POSTは「新しい何かを追加する」操作だと覚えると理解しやすいです。

6. PUTルーティング:既存データを更新する

6. PUTルーティング:既存データを更新する
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ルーティング:データを削除する

7. DELETEルーティング:データを削除する
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の使い分けの考え方

8. GET・POST・PUT・DELETEの使い分けの考え方
8. GET・POST・PUT・DELETEの使い分けの考え方

Webアプリを作る上で、4つのメソッドは次のように整理できます。

  • GET:見るだけ(閲覧)
  • POST:新しく追加(作成)
  • PUT:既存を更新(変更)
  • DELETE:削除(消去)

この4つを役割ごとに正しく使い分けることで、Play Frameworkのルーティングが整理され、読みやすく、安全なアプリケーションを作りやすくなります。

また、REST APIという設計思想でも、この4つのメソッドが基本となります。初心者のうちから役割をしっかり理解しておくと、後で本格的な開発をする際に非常に役立ちます。

関連記事:
カテゴリの一覧へ
新着記事
New1
Play Framework
Play Frameworkでフォームデータをコントローラで扱う方法を完全解説|Java初心者向けコントローラ入門
New2
Jakarta EE
Jakarta EE JSPにおけるJSTLとスクリプトレットの違いと使い分けを初心者向けに徹底解説
New3
Play Framework
Play Frameworkでクエリパラメータをコントローラで処理する方法を完全解説|Java初心者向け入門
New4
Play Framework
Play FrameworkとSpring Bootの違いを徹底比較!初心者でもわかるJavaフレームワーク入門
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta EEのリリースサイクルとバージョンの進化をやさしく解説!
No.2
Java&Spring記事人気No2
Jakarta EE
Jakarta サーブレットのHttpServletRequestを徹底解説!初心者でもわかる基本操作と使い方
No.3
Java&Spring記事人気No3
Jakarta EE
Jakarta EEとSpringの比較|どちらを選ぶべきか?初心者向けに徹底解説!
No.4
Java&Spring記事人気No4
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識
No.5
Java&Spring記事人気No5
Jakarta EE
Jakarta EE JSPでJSTL SQLタグを使った簡易データベースアクセスをやさしく解説
No.6
Java&Spring記事人気No6
Jakarta EE
Jakarta EE JSPにおけるJSTL国際化タグ(fmt:message)の使い方を初心者向けに完全解説
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EE JSPでJSTLを使ったJSONやREST APIレスポンス処理を初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Play Framework
Play Frameworkでリクエストデータの受け取り方を完全解説|Java初心者向けコントローラ入門