カテゴリ: Spring 更新日: 2026/01/21

Spring MVCのルーティング設計をマスター!初心者向け@GetMappingと@PostMappingの基本と命名ルール

Spring MVCのルーティング設計:@GetMapping/@PostMapping の基本と命名
Spring MVCのルーティング設計:@GetMapping/@PostMapping の基本と命名

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

生徒

「Spring MVCの@GetMapping@PostMappingってどう使い分ければいいんですか?」

先生

「リクエストの種類によって使い分けるんですよ。データを取得するときは@GetMapping、データを送信・保存するときは@PostMappingを使います。」

生徒

「なるほど……ルーティングの名前は自由に決めていいんですか?」

先生

「実は、URL設計にもルールやコツがあります。今回は初心者向けに、Spring MVCのルーティング設計と@GetMapping@PostMappingの使い方、そして命名の考え方を詳しく見ていきましょう。」

1. Spring MVCにおけるルーティングとは?

1. Spring MVCにおけるルーティングとは?
1. Spring MVCにおけるルーティングとは?

Spring MVCのルーティングとは、ユーザーからのリクエストURLと、Java側の処理メソッドをつなぐ設定のことです。ルーティングは@RequestMapping@GetMapping@PostMappingなどのアノテーションで実現されます。特に最近では@GetMapping@PostMappingが推奨されており、よりシンプルに書けます。

2. @GetMappingの基本的な使い方

2. <code>@GetMapping</code>の基本的な使い方
2. @GetMappingの基本的な使い方

@GetMappingは、ブラウザからのGETリクエストに対して処理を行うメソッドに使います。例えば「ページを表示する」「データを取得する」といった操作に適しています。


@Controller
public class UserController {

    @GetMapping("/user/list")
    public String showUserList(Model model) {
        // ユーザー一覧を取得してビューへ渡す処理
        return "userList";
    }
}

この例では、/user/listというURLにGETアクセスが来たときにshowUserListメソッドが呼ばれます。ルーティングの名前は、できるだけ動作が伝わるようにするのがSEOにもユーザビリティにも良いです。

3. @PostMappingの基本的な使い方

3. <code>@PostMapping</code>の基本的な使い方
3. @PostMappingの基本的な使い方

@PostMappingは、フォームからのPOSTリクエストに対して処理を行うメソッドに使います。主に「データを送信する」「登録する」「更新する」などの操作に適しています。


@Controller
public class UserController {

    @PostMapping("/user/create")
    public String createUser(@ModelAttribute User user) {
        // ユーザー情報を保存する処理
        return "redirect:/user/list";
    }
}

このように、@PostMappingを使えばデータの登録・保存処理を簡潔にルーティングできます。/user/createという命名も、処理の意図がURLに明確に表れており、SEO的にも理想的です。

4. 命名ルールとURL設計のコツ

4. 命名ルールとURL設計のコツ
4. 命名ルールとURL設計のコツ

ルーティングのURLは自由に決められますが、一定のルールに従うことで、コードの可読性やメンテナンス性が大幅に向上します。以下のようなポイントを意識しましょう:

  • 英語でシンプルに/user/edit/user/deleteなど動詞は短く。
  • リソース指向/user/{id}で個別ユーザーに対応。
  • アクションを明示/user/create/user/updateなどで意味がわかりやすく。

SEO対策としても、URLに意味のあるキーワードを含めることは重要です。Googleの検索エンジンにもルーティングURLは評価対象になります。

5. REST的なルーティング設計も覚えよう

5. REST的なルーティング設計も覚えよう
5. REST的なルーティング設計も覚えよう

Spring MVCはREST風の設計も可能です。RESTとは、リソース(名詞)に対してHTTPメソッド(動詞)で処理を区別する考え方です。

  • GET /user:ユーザー一覧取得
  • GET /user/{id}:特定ユーザー取得
  • POST /user:ユーザー新規作成
  • PUT /user/{id}:ユーザー情報更新
  • DELETE /user/{id}:ユーザー削除

このように、URLはリソース主体で統一し、処理の種類はHTTPメソッドで表現するのがベストプラクティスです。

6. 実践:@GetMappingと@PostMappingの組み合わせ例

6. 実践:@GetMappingと@PostMappingの組み合わせ例
6. 実践:@GetMappingと@PostMappingの組み合わせ例

実際のフォーム画面と登録処理を組み合わせたコード例を紹介します。


@Controller
public class UserController {

    @GetMapping("/user/new")
    public String showCreateForm(Model model) {
        model.addAttribute("user", new User());
        return "userForm";
    }

    @PostMapping("/user/save")
    public String saveUser(@ModelAttribute User user) {
        // 保存処理
        return "redirect:/user/list";
    }
}

このように、GETでフォームを表示し、POSTでその内容を保存するのが基本の流れです。/user/new/user/saveのようにURLに処理内容を含めることで、初心者でも処理の流れが理解しやすくなります。

7. URLに含めたいSEOキーワードの選び方

7. URLに含めたいSEOキーワードの選び方
7. URLに含めたいSEOキーワードの選び方

初心者向けのSpring MVCのルーティング設計では、URLにわかりやすい名詞と動詞を含めましょう。例として:

  • /login:ログインページ
  • /register:ユーザー登録ページ
  • /products/view:商品表示ページ
  • /contact/send:お問い合わせ送信

Googleの検索結果では、URL構造もユーザーがクリックするかどうかの判断材料になります。意味のある単語で構成されたルートはSEOに効果的です。

8. よくある初心者のミスと注意点

8. よくある初心者のミスと注意点
8. よくある初心者のミスと注意点

初心者がSpring MVCでルーティングを設計するときにありがちなミスには以下のようなものがあります:

  • POST処理に@GetMappingを使ってしまう
  • 意味のないURL(例:/aaa/xyz)を設定してしまう
  • 複数のメソッドに同じURLを設定してしまう
  • URLと画面名や処理の内容が一致していない

これらはデバッグが困難になる原因となるので、最初の段階から明確で意味のあるURL命名を心がけましょう。

まとめ

まとめ
まとめ

Spring MVCにおけるルーティング設計の基本をしっかりと理解することは、Webアプリケーション開発の基盤を築くうえでとても重要です。今回の記事では、@GetMapping@PostMappingの使い方を中心に、初心者でも理解しやすいように具体例や命名ルール、SEOを意識したURL設計のポイントまで幅広く解説しました。

@GetMappingは、主にデータの取得やページ表示といった読み取り処理に使用される一方で、@PostMappingはフォームの送信やデータ登録といった書き込み処理に使われます。それぞれの用途を正しく理解し、URL設計に意味のある英単語やアクションを取り入れることで、ユーザーにも検索エンジンにもやさしいWebサービスが構築できます。

また、REST的な考え方を取り入れたルーティング構成を行うことで、処理の見通しが良くなり、チーム開発やメンテナンスにも強い設計が実現します。初心者のうちはシンプルなルーティングから始め、徐々にREST的な設計へステップアップしていくのもおすすめです。

最後に、ルーティングURLに意味を持たせることは、SEO対策としても極めて有効です。検索エンジンはURL構造も評価するため、キーワードを意識した命名にしておくとアクセス数アップにもつながります。

参考コード:フォーム登録処理の全体例


@Controller
@RequestMapping("/user")
public class UserController {

    @GetMapping("/form")
    public String showForm(Model model) {
        model.addAttribute("user", new User());
        return "userForm";
    }

    @PostMapping("/register")
    public String registerUser(@ModelAttribute User user) {
        // 登録処理
        return "redirect:/user/complete";
    }

    @GetMapping("/complete")
    public String showCompletePage() {
        return "complete";
    }
}

このような構成を実践することで、より明確で管理しやすいルーティング設計になります。/user/form/user/register/user/completeといった構造は、処理の流れが一目でわかるためユーザーにも開発者にも優しい設計と言えます。

先生と生徒の振り返り会話

生徒

「今回の記事を読んで、ルーティングの設計ってすごく大事だって分かりました。特にURLの命名が、ユーザーにも検索エンジンにも影響するって驚きです!」

先生

「そうですね。URLの設計は単なる技術的な話ではなく、SEO対策やユーザー体験にも関係してくる重要な部分なんです。命名に悩んだら、処理の内容を表す単語を使うとわかりやすくなりますよ。」

生徒

@GetMapping@PostMappingの使い方もはっきり区別できるようになったので、自信がつきました!」

先生

「それはよかったですね。次は@PutMapping@DeleteMappingにも挑戦して、よりRESTfulな設計にチャレンジしてみましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Spring MVCのルーティング設計ってそもそも何ですか?

Spring MVCのルーティング設計とは、ユーザーからのHTTPリクエストとコントローラ内の処理メソッドを対応させる仕組みのことです。URLとJavaメソッドを結びつけることで、Webアプリケーションの機能を制御します。

@GetMappingと@RequestMappingの違いは何ですか?

@GetMappingは@RequestMapping(method = RequestMethod.GET)の簡略形です。読みやすさと書きやすさの点で@GetMappingが推奨されています。

Springの学習を効率化したい方へ

この記事の内容をもっと深く知るには、以下の入門書が最適です。

Spring Framework超入門をAmazonで見る
カテゴリの一覧へ
新着記事
New1
Java
Javaのラムダ式で注意したい変数キャプチャの落とし穴とは?代入と変数名のベストプラクティス解説
更新記事
New2
Spring
Springの@GetMappingアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
更新記事
New3
Spring
SpringDataJPAのJPAクエリメソッド「EndingWith」の使い方を完全ガイド!初心者向け解説
更新記事
New4
Spring
SpringDataJPAのJPAクエリメソッド「StartingWith」の使い方を完全ガイド!初心者向け解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Java
JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
No.3
Java&Spring記事人気No3
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.4
Java&Spring記事人気No4
Java
JavaのIOExceptionクラス徹底解説!初心者向けファイル入出力エラー対策ガイド
No.5
Java&Spring記事人気No5
Spring
SpringのBindingResultを完全ガイド!初心者でもわかる入力チェックとエラー処理
No.6
Java&Spring記事人気No6
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方
No.7
Java&Spring記事人気No7
Spring
SpringのModelクラスとaddAttributeメソッドの使い方を完全ガイド!初心者でも安心
No.8
Java&Spring記事人気No8
Spring
SpringDataJPAのJPAクエリメソッド「EndingWith」の使い方を完全ガイド!初心者向け解説