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

@GetMappingとは?@GetMappingの使い方を完全ガイド!初心者でもわかるSpring MVCのGETリクエスト処理

Springの@GetMappingとは?@GetMappingアノテーションの使い方
Springの@GetMappingとは?@GetMappingアノテーションの使い方

新人と先輩の会話形式で理解しよう

新人

「Spring MVCで@GetMappingって何に使うんですか?なんだかよく分からなくて…」

先輩

「@GetMappingは、ユーザーがブラウザでURLにアクセスしたときに、そのリクエストを処理するメソッドを指定するために使うんだ。簡単に言うと、Webページを表示させたいときに便利なんだよ。」

新人

「なるほど!じゃあ、どうして@RequestMappingじゃなくて@GetMappingを使うんですか?」

先輩

「それじゃあ、@GetMappingの役割や利便性について詳しく見ていこう!」

1. @GetMappingとは?

1. @GetMappingとは?
1. @GetMappingとは?

@GetMappingは、Spring MVCで使用されるアノテーションで、特定のURLに対するGETリクエストを処理するために使います。GETリクエストは、ユーザーがブラウザでURLを入力したり、リンクをクリックしたときに発生します。@GetMappingを使うことで、簡潔にメソッドとURLのマッピングができ、コードが見やすくなります。

以前は@RequestMappingmethod = RequestMethod.GETを指定していましたが、@GetMappingを使うことでコードが短くなり、より直感的に理解できます。

2. @GetMappingがなぜ使われるのか(役割と利便性)

2. @GetMappingがなぜ使われるのか(役割と利便性)
2. @GetMappingがなぜ使われるのか(役割と利便性)

@GetMappingは、コードの簡潔さと可読性を高めるために導入されました。特に、Webアプリケーションでよく使われるGETリクエストの処理を記述する際に便利です。以下に、@RequestMapping@GetMappingの違いを比較したコードを示します。

① @RequestMappingを使用した例


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class SampleController {

    @RequestMapping(value = "/home", method = RequestMethod.GET)
    public String home() {
        return "home";
    }
}

② @GetMappingを使用した例


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class SampleController {

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

上記のように、@GetMappingを使うとコードがすっきりして読みやすくなります。特に複数のGETリクエストを処理する場合、可読性が向上し、メンテナンスがしやすくなります。

③ 実行結果のイメージ


ホームページへようこそ!

実際にブラウザでlocalhost:8080/homeにアクセスすると、「ホームページへようこそ!」と表示されます。このように、@GetMappingはWebページの表示に非常に役立ちます。

開発環境のポイント:

  • 開発環境はpleiadesを使用し、依存関係はSpring Webを追加してください。
  • ビルドツールはGradleを使用し、build.gradleで依存関係を管理します。
  • HTMLファイルはsrc/main/resources/templatesフォルダに配置します。

3. @GetMappingの基本的な使い方(簡単なコード例付き)

3. @GetMappingの基本的な使い方(簡単なコード例付き)
3. @GetMappingの基本的な使い方(簡単なコード例付き)

@GetMappingは、特定のURLに対するGETリクエストを処理するために使います。ユーザーがブラウザでURLを入力したり、リンクをクリックしたときに発生するGETリクエストを簡単に処理できるのが特徴です。@GetMappingを使うと、コードが短くなり、読みやすさが向上します。

ここでは、ユーザーが「/hello」にアクセスしたときに、挨拶メッセージを表示する簡単な例を紹介します。


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class GreetingController {

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

上記のコードでは、@Controllerをクラスに付けてSpringにコントローラであることを伝えています。@GetMapping("/hello")は、ブラウザで「/hello」にアクセスしたときにhello()メソッドが呼ばれ、resources/templates/hello.htmlというHTMLファイルを返します。

次に、対応するHTMLファイルの内容を示します。


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>挨拶ページ</title>
</head>
<body>
    <h1>こんにちは、Spring MVC!</h1>
    <p>@GetMappingを使った基本的な例です。</p>
</body>
</html>

【実行結果のイメージ】


こんにちは、Spring MVC!
@GetMappingを使った基本的な例です。

このように、@GetMappingを使うことで簡単にURLとメソッドを結びつけられ、Webページを表示できます。

4. パス変数を使ったリクエスト処理

4. パス変数を使ったリクエスト処理
4. パス変数を使ったリクエスト処理

@GetMappingでは、URLの一部を変数として受け取ることができます。これを「パス変数」と呼び、ユーザーIDや商品IDなどをURLから取得したいときに便利です。

以下の例では、ユーザーIDをパス変数として取得しています。


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@Controller
public class UserController {

    @GetMapping("/user/{id}")
    public String getUser(@PathVariable("id") int id, Model model) {
        model.addAttribute("userId", id);
        return "user";
    }
}

@PathVariable("id")でURLから{id}の値を取得し、userIdという名前でビューに渡しています。

次に、HTMLファイル(user.html)の内容を示します。


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>ユーザー情報</title>
</head>
<body>
    <h1>ユーザー情報</h1>
    <p th:text="'ユーザーID: ' + ${userId}">ユーザーID: 未取得</p>
</body>
</html>

【実行結果のイメージ】


ユーザー情報
ユーザーID: 42

ブラウザでlocalhost:8080/user/42にアクセスすると、「ユーザーID: 42」と表示されます。このように、@GetMappingを使うことでURL内の値を簡単に取得できます。

5. クエリパラメータを使ったリクエスト処理

5. クエリパラメータを使ったリクエスト処理
5. クエリパラメータを使ったリクエスト処理

クエリパラメータは、URLの末尾に?key=valueの形式でデータを渡す方法です。ユーザーが検索フォームに入力したデータを取得したい場合に便利です。

以下は、クエリパラメータで名前を受け取り表示する例です。


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class QueryController {

    @GetMapping("/greet")
    public String greet(@RequestParam("name") String name, Model model) {
        model.addAttribute("name", name);
        return "greet";
    }
}

@RequestParam("name")でURLからnameパラメータの値を取得し、ビューに渡しています。

対応するHTMLファイル(greet.html)の内容です。


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>挨拶</title>
</head>
<body>
    <h1>挨拶ページ</h1>
    <p th:text="'こんにちは、' + ${name} + 'さん!'">こんにちは、ゲストさん!</p>
</body>
</html>

【実行結果のイメージ】


挨拶ページ
こんにちは、太郎さん!

ブラウザでlocalhost:8080/greet?name=太郎にアクセスすると、「こんにちは、太郎さん!」と表示されます。@RequestParamを使うことで簡単にクエリパラメータを取得でき、検索機能やフィルタ機能に活用できます。

6. @GetMappingを使った簡単なWebアプリケーション作成例

6. @GetMappingを使った簡単なWebアプリケーション作成例
6. @GetMappingを使った簡単なWebアプリケーション作成例

ここでは、@GetMappingを使って簡単なWebアプリケーションを作成してみましょう。今回作成するのは、ユーザーが名前を入力して送信すると、挨拶メッセージを表示するアプリケーションです。

① コントローラクラスの作成


package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class GreetingController {

    @GetMapping("/greeting")
    public String greeting(@RequestParam(name = "name", defaultValue = "ゲスト") String name, Model model) {
        model.addAttribute("name", name);
        return "greeting";
    }
}

このコードでは、@GetMapping("/greeting")で「/greeting」URLへのGETリクエストを処理しています。@RequestParamでクエリパラメータからnameを取得し、Modelを使ってビューにデータを渡しています。

② ビュー(HTMLファイル)の作成


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>挨拶ページ</title>
</head>
<body>
    <h1>挨拶ページ</h1>
    <p th:text="'こんにちは、' + ${name} + 'さん!'">こんにちは、ゲストさん!</p>
</body>
</html>

【実行結果のイメージ】


挨拶ページ
こんにちは、花子さん!

ブラウザでlocalhost:8080/greeting?name=花子にアクセスすると、「こんにちは、花子さん!」と表示されます。クエリパラメータを使うことで、ユーザー入力に応じた動的なページを作成できます。

7. よくあるエラーとその解決方法

7. よくあるエラーとその解決方法
7. よくあるエラーとその解決方法

@GetMappingを使う際に初心者がつまずきやすいエラーと、その解決方法について解説します。

① 404エラー: ページが見つからない

原因: URLが間違っている、または対応するメソッドがない場合に発生します。

解決方法: コントローラ内のURLとブラウザでアクセスするURLが一致しているか確認してください。


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

アクセス時はlocalhost:8080/helloにしてください。

② Whitelabel Error Page(ホワイトラベルエラー)

原因: ビュー(HTMLファイル)が存在しない場合に表示されます。

解決方法: resources/templatesフォルダ内に対応するHTMLファイルがあるか確認してください。

③ パス変数やクエリパラメータの取得エラー

原因: @PathVariable@RequestParamの指定が間違っている場合に発生します。


@GetMapping("/user/{id}")
public String getUser(@PathVariable("id") int userId, Model model) {
    model.addAttribute("userId", userId);
    return "user";
}

URLにアクセスするときはlocalhost:8080/user/1のように入力してください。

8. @GetMappingを学ぶ際のポイントと今後の学習ステップ

8. @GetMappingを学ぶ際のポイントと今後の学習ステップ
8. @GetMappingを学ぶ際のポイントと今後の学習ステップ

@GetMappingの基本を学んだ後は、さらに以下の内容を学ぶことで、より実践的なWebアプリケーションを作成できるようになります。

① @PostMappingとの違いと使い分け

フォームからデータを送信する場合、@PostMappingが使われます。GETとPOSTの使い分けを学びましょう。

② フォーム入力処理

ユーザーが入力した情報をサーバーで処理する方法を学びます。これはユーザー登録や検索機能でよく使います。

③ エラーハンドリングの方法

実際の開発では、ユーザーの誤操作やシステムエラーへの対応が必要です。@ExceptionHandlerを使用して適切なエラーメッセージを表示する方法を学びましょう。

④ サービス層の分離

コントローラとビジネスロジックを分離することで、コードの再利用性と可読性が向上します。@Serviceアノテーションを使用してサービス層を作成することをお勧めします。

⑤ 実践課題

  • 自分で簡単なTodoアプリを作ってみる。
  • クエリパラメータを使用した検索機能を実装してみる。
  • エラー処理を含めたユーザー登録機能を作成する。

上記を学習することで、@GetMappingだけでなく、Spring MVC全体の理解が深まり、より高度なWebアプリケーション開発が可能になります。

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

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

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

@GetMappingとは何ですか?初心者向けに簡単に教えてください。

@GetMappingとは、Spring MVCで使用されるアノテーションで、URLに対するGETリクエストを処理するために使われます。ユーザーがブラウザでURLを入力したときやリンクをクリックしたときに、Webページを表示させるためのメソッドを簡単に指定できます。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
静的リソースの配置場所(HTML・CSS・画像など)を完全ガイド!Spring Boot初心者向け解説
Servletとは?Pleiadesで始めるJava Webアプリ開発の基礎を初心者向けに徹底解説
Spring Bootの設定ファイルとは?初心者向けにapplication.propertiesの基本項目を解説
Java の continue 文で1回スキップする方法を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Javaとは?初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
SQLのビュー(VIEW)を完全ガイド!初心者でもわかる仮想テーブルの使い方
No.3
Java&Spring記事人気No3
Spring Initializrの使い方を完全ガイド!初心者でも簡単にできるプロジェクト作成方法
No.4
Java&Spring記事人気No4
DB接続失敗やSQLエラーの表示と対策を完全解説!初心者でもわかるSpringのエラーハンドリング