カテゴリ: Spring 更新日: 2025/10/05

Spring Bootのリクエスト/レスポンス入門:HTTPメソッド・ヘッダー・ステータスをやさしく解説

Spring Bootのリクエスト/レスポンス入門:HTTPメソッド・ヘッダー・ステータス
Spring Bootのリクエスト/レスポンス入門:HTTPメソッド・ヘッダー・ステータス

教材紹介 Spring Boot 学習のおすすめ教材

Spring Bootを使ったWebアプリケーション開発を、 環境構築から実践まで一通り学びたい方には、 定評のある入門書が参考になります。

Spring Boot 3 プログラミング入門をAmazonで見る

※ Amazon広告リンク

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

生徒

「Spring Bootでリクエストやレスポンスを扱うとき、どんな仕組みになってるんですか?」

先生

「Spring Bootでは、HTTPメソッドやリクエストヘッダー、レスポンスステータスコードなどをコントローラーで簡単に扱えるようになっていますよ。」

生徒

「例えばGETとかPOSTの違いとかもあるんですよね?」

先生

「そうですね。それでは、HTTPメソッドの使い分けやヘッダー、ステータスコードの基本から順番に見ていきましょう!」

1. Spring BootとHTTPメソッドの関係

1. Spring BootとHTTPメソッドの関係
1. Spring BootとHTTPメソッドの関係

Spring Bootでは、@GetMapping@PostMappingといったアノテーションを使って、HTTPリクエストを処理することができます。HTTPメソッドは、Webアプリケーションにおいてクライアントがサーバーに対してどのような操作をしたいのかを示す手段です。

例えば以下のようなHTTPメソッドがあります:

  • GET: データの取得に使う
  • POST: 新しいデータの作成や送信
  • PUT: データの更新
  • DELETE: データの削除

Spring Bootでは、それぞれに対応したアノテーションでリクエストを受け取れます。


@RestController
public class UserController {

    @GetMapping("/user")
    public String getUser() {
        return "ユーザー情報を取得しました";
    }

    @PostMapping("/user")
    public String createUser() {
        return "ユーザーを作成しました";
    }
}

2. リクエストヘッダーとレスポンスヘッダーとは?

2. リクエストヘッダーとレスポンスヘッダーとは?
2. リクエストヘッダーとレスポンスヘッダーとは?

HTTPリクエストやレスポンスには、ヘッダーという情報が含まれます。リクエストヘッダーは、ブラウザやアプリケーションがサーバーに送る追加情報です。レスポンスヘッダーは、サーバーがクライアントに返す追加情報です。

例えば、User-Agent(どんなブラウザか)、Content-Type(データ形式)、Accept(受け取り可能なデータ形式)などがよく使われます。

Spring Bootでは、リクエストヘッダーを@RequestHeaderで取得できます。


@GetMapping("/header-test")
public String headerTest(@RequestHeader("User-Agent") String userAgent) {
    return "あなたのブラウザは:" + userAgent;
}

3. レスポンスのステータスコードの設定

3. レスポンスのステータスコードの設定
3. レスポンスのステータスコードの設定

レスポンスにはHTTPステータスコードを設定することで、クライアントに処理結果を伝えることができます。たとえば、200 OK404 Not Found500 Internal Server Errorなどが代表的です。

Spring BootではResponseEntityを使うことで、ステータスコードも細かく制御できます。


@GetMapping("/status")
public ResponseEntity<String> getStatus() {
    return new ResponseEntity<>("正常に処理されました", HttpStatus.OK);
}

もしエラーやデータが見つからない場合は以下のように記述できます。


@GetMapping("/status404")
public ResponseEntity<String> getNotFound() {
    return new ResponseEntity<>("データが見つかりません", HttpStatus.NOT_FOUND);
}

Spring FrameworkやThymeleafを使った Webアプリ開発の全体像をやさしく理解したい人には、 この入門書が定番です。

Spring Framework超入門をAmazonで見る

※ Amazon広告リンク

4. HTTPメソッドの使い分け例

4. HTTPメソッドの使い分け例
4. HTTPメソッドの使い分け例

リクエストの種類に応じて、HTTPメソッドを使い分けることで、Webサービスの設計が明確になります。例えばユーザー情報を操作するAPIでは以下のように設計するのが一般的です:

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

このような設計は「REST API設計」と呼ばれ、Spring Bootでも非常によく使われる設計スタイルです。

5. JSON形式のリクエストとレスポンス

5. JSON形式のリクエストとレスポンス
5. JSON形式のリクエストとレスポンス

Spring Bootでは、JSON形式のリクエストやレスポンスを簡単に扱うことができます。クライアントからJSONデータを受け取り、Javaオブジェクトに変換するには、@RequestBodyを使います。


@PostMapping("/json")
public ResponseEntity<String> receiveJson(@RequestBody User user) {
    return new ResponseEntity<>("名前:" + user.getName(), HttpStatus.OK);
}

このように書くだけで、Spring Bootが自動的にJSONをJavaオブジェクトに変換してくれます。逆にJavaオブジェクトをJSONにして返すことも自動で行われます。

6. 実行結果の例

6. 実行結果の例
6. 実行結果の例

上記の/header-testを実行すると、以下のようなレスポンスが返ってくる場合があります。


あなたのブラウザは:Mozilla/5.0 (Windows NT 10.0; Win64; x64)

7. Web開発で必須!HTTPの基礎知識を理解しよう

7. Web開発で必須!HTTPの基礎知識を理解しよう
7. Web開発で必須!HTTPの基礎知識を理解しよう

Spring BootでWebアプリケーションを作るうえで、HTTPのリクエスト・レスポンス・ヘッダー・ステータスコードの理解は欠かせません。これらをしっかり把握しておくことで、実践的なAPI開発がスムーズに進みます。特にRESTfulな設計やエラーハンドリングを行う際には、HTTPの基本をおさえることが重要です。

カテゴリの一覧へ
新着記事
JavaのIndexOutOfBoundsExceptionを完全ガイド!初心者でも理解できる例外処理と回避方法
スッキリわかるJava入門 第4版|独学でもレッスンでも学べる完全ガイド
JavaのCookieクラスのgetCommentメソッドを解説!Servlet開発でクッキーの説明文を取得する方法
JavaのBufferedOutputStreamクラスのwriteメソッドを徹底解説!初心者でもわかるファイルへのバイナリ書き込み
人気記事
No.1
Java&Spring記事人気No1
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.3
Java&Spring記事人気No3
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.4
Java&Spring記事人気No4
Thymeleafのth:classappend属性の使い方を完全ガイド!初心者でもわかる動的クラス追加
No.5
Java&Spring記事人気No5
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説
No.6
Java&Spring記事人気No6
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
No.7
Java&Spring記事人気No7
Springの@Repositoryアノテーションの使い方を徹底解説!初心者でもわかるSpringフレームワークのデータアクセス
No.8
Java&Spring記事人気No8
JavaのArrayListクラスとgetメソッドを完全解説!初心者でもわかるリストの要素取得

💻 作業効率アップに

長時間のコーディングでも疲れにくい♪ 静音ワイヤレスマウス

Logicool Signature M750 を見る

※ Amazon広告リンク