0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Spring Boot + Postman入門】GETとPOSTの違いをREST APIで実際体験してみる

0
Last updated at Posted at 2026-05-23

はじめに

この記事は自分の学習用、備忘録として書いてるものです。
もし内容に間違いなどがあればご指摘ください。

対象読者

  • プログラミングを始めたばかりの初学者
  • REST APIという言葉を聞いたことはあるが触ったことがない方
  • Postmanを使ってみたい方

この記事では、Spring Boot で作られたシンプルなREST APIをPostmanで操作します。
最終的に、以下の2つのことができるようになることを目標とします。

  • Postman から GETリクエスト を送り、APIのレスポンスを確認する
  • Postman から POSTリクエスト を送り、リクエストボディ付きでデータを送受信する
用語 意味
REST API Webサービスとやり取りするためのルールに基づいたAPI
HTTPメソッド リクエストの「目的」を表す種別(GET/POST/PUT/DELETEなど)
GET サーバーからデータを「取得する」メソッド
POST サーバーにデータを「送信する・作成する」メソッド
エンドポイント APIへのアクセス先URL(例: /hello-rest
リクエスト クライアントがサーバーに送る問い合わせ
レスポンス サーバーがクライアントに返す回答
JSON データのやり取りに使うテキスト形式(例: {"key": "value"}
リクエストボディ POSTなどのリクエスト時にデータを入れる「荷物」部分
Content-Type 送信データの形式を伝えるヘッダー(application/json など)
ステータスコード レスポンスの結果を表す3桁の数字(200=成功、415=エラーなど)

今回使うプロジェクトの確認

プロジェクト構成

RestSample/
├── src/
│   └── main/
│       ├── java/com/example/rest/
│       │   ├── RestSampleApplication.java  // アプリの起動ポイント
│       │   └── controller/
│       │       └── HelloController.java      // APIの処理を書くファイル
│       └── resources/
│           └── application.properties        // 設定ファイル
└── pom.xml                                   // 依存ライブラリの定義

主要技術

  • Spring Boot 3.5: JavaのWebアプリケーションフレームワーク
  • Java 21: プログラミング言語
  • Maven: ビルドツール(ライブラリ管理など)

APIの処理を書くファイルであるHelloContollerの作成

今回は/hello-restでGETリクエストを送り、Mapの中のJSONデータが返ってくることを確認する

package com.example.rest.comtroller;

import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloContoller {

	@GetMapping("/hello-rest")
	public Map<String, Object> helloRest(){
		Map<String, Object> ret = Map.of(
				"message", "HelloRest","section", 3);
		return ret;
	}
	}


Postmanのインストール

インストール手順

  1. Postmanの公式ダウンロードページにアクセスします
  2. お使いのOSに合ったインストーラをダウンロードします
  3. インストーラを実行します
  4. 起動後、「Skip and go to the app」 をクリックしてアカウントなしでも使えます

Postmanでコレクションの作成

Step 1: PostmanでGETリクエストを送る

手順

1. 新しいリクエストを作成する

Collectionを選択して、新規のコレクションを追加
スクリーンショット 2026-05-22 21.45.00.png
スクリーンショット 2026-05-22 21.40.58.png

2. メソッドとURLを設定する

  • メソッドが GET になっていることを確認(デフォルトはGETなので変更不要)
  • URL欄に以下を入力
    http://localhost:8080/hello-rest

スクリーンショット 2026-05-23 8.28.20.png

3. Sendをクリックする

レスポンスの内容を確認して正しくGETリクエストが送られたかを確認する

ステータスは200かどうか
コントローラーで指定された内容かどうか

Status: 200 OK(`200 OK` はリクエスト成功を意味するステータスコード)

スクリーンショット 2026-05-23 8.22.28.png
スクリーンショット 2026-05-23 8.34.05.png

Postmanのメリット: ブラウザのURLバーからもGETリクエストは送れるが、Postmanを使うとステータスコードやヘッダーが見やすく表示される。

Step 2: POSTエンドポイントのコードを確認する

今度は元々書いたHelloController.javaにPOST /hello-rest` を追加してみる

package com.example.rest.controller;

import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;     // 追加
import org.springframework.web.bind.annotation.RequestBody;     // 追加
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    // ---- 既存のGETエンドポイント ----
    @GetMapping("/hello-rest")
    public Map<String, Object> helloRest() {
        Map<String, Object> ret = Map.of(
            "message", "Hello, REST !",
            "section", 3
        );
        return ret;
    }

    // ---- 追加したPOSTエンドポイント ----
    @PostMapping("/hello-rest")
    public Map<String, Object> helloRestPost(@RequestBody HelloRequest request) {

        String name = (request.name() != null && !request.name().isBlank())
                        ? request.name()
                        : "名無し";

        Map<String, Object> ret = Map.of(
            "message", "Hello, " + name + "さん!",
            "section", 3
        );
        return ret;
    }

    // ---- リクエストボディのデータ構造 ----
    record HelloRequest(String name) {}
}

1. 新しいリクエストを作成する

2. メソッドとURLを設定する

  • メソッドが Post になっていることを確認
    http://localhost:8080/hello-rest

3. Bodyを設定する(ここがGETとの大きな違い)

  • [Body] タブをクリック
  • [raw] ラジオボタンをクリック
  • 右端のドロップダウンを [JSON] に変更
    • この操作で Content-Type: application/json ヘッダーが自動的に設定される
  • テキストエリアに以下を入力:
{
    "name": "太郎"
}

スクリーンショット 2026-05-23 9.04.48.png

4. Sendをクリックする

レスポンスの内容を確認して正しくPOSTリクエストが送られたかを確認する

ステータスは200かどうか
コントローラーで指定された内容かどうか(送った name がレスポンスの message に反映されているかどうか)

スクリーンショット 2026-05-23 9.38.06.png
スクリーンショット 2026-05-23 9.38.23.png

よく見るステータスコード

ステータスコード 意味 よくある原因
200 OK 成功 -
400 Bad Request リクエストの形式が不正 JSONの構文ミス
404 Not Found URLが存在しない URLの打ち間違い
415 Unsupported Media Type データ形式が非対応 Content-Typeの指定漏れ
500 Internal Server Error サーバー内部エラー プログラムのバグ

GETとPOSTの違い まとめ

比較項目 GET POST
主な用途 データを取得する データを送信・作成する
リクエストボディ なし あり(JSON等)
Content-Type 不要 必要(application/json 等)
URLへのパラメータ クエリパラメータで渡せる Bodyに含める
ブラウザで試せるか URLバーでOK 通常は不可(Postmanが必要)
Postman設定 メソッドをGETに設定するだけ メソッド変更 + Body設定が必要
用途の例 ページ表示、一覧取得 ログイン、フォーム送信、データ登録

まとめ

今回学んだこと

  • REST APIは「URL + HTTPメソッド」の組み合わせでサーバーの機能を呼び出す仕組み
  • GETはデータを「取得」、POSTはデータを「送信」するためのメソッド
  • 同じURLでもHTTPメソッドで動作が変わるのがREST APIの核心
  • Postmanを使うとブラウザでは難しいPOSTリクエストも簡単に送れる
  • POSTでは Body に JSON を入れて、Content-Typeapplication/json に設定する
  • ステータスコードでリクエストの成否と原因を確認できる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?