

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
responseentityとは何か
responseentityは Spring の REST API で使われる特別なクラスです。HTTP の応答を表す箱のようなもので、ステータスコード、ヘッダー、ボディを一つにまとめて返せます。これによりクライアントが受け取る情報を統一的に扱えます。
このクラスは REST API でのやり取りをわかりやすくし、エラー時のメッセージや成功時のデータの形をそろえる手助けをします。
基本的な使い方
基本は「body を返すと同時にステータスコードを決定する」ことです。OK の場合は body を返し、エラー時には適切なエラーメッセージと共にエラーコードを返します。
代表的な書き方には次のようなものがあります。ResponseEntity.ok(body) は最も簡便な方法で、body をそのまま 200 OK として返します。
ポイント: ヘッダーを追加したい場合はヘッダー情報と組み合わせて返すことも可能です。
使い分けのヒント
以下のポイントを押さえると、返すべき内容が迷いにくくなります。1 ボディ、2 ヘッダー、3 ステータスコードの組み合わせを使う。
実務ではよくあるケースとして、データの取得成功時には body を 200、リソースが新規作成された場合には 201、リクエストが不正な場合には 400 などを使います。
実務の表
よく使うケースを表にまとめました。実際のアプリではこのパターンを元に組み立てます。
| ケース | 意味 | 例 |
|---|---|---|
| OK | 本文を返す | 200 |
| CREATED | 新規作成の成功を返す | 201 |
| NO_CONTENT | 本文なし | 204 |
| BAD_REQUEST | リクエストの不備 | 400 |
このように responseentity は API の挙動を揃え、クライアント側の処理を簡単にします。
まとめ
要するに responseentity とは、HTTP 応答を body と header と status の三つを一つのオブジェクトで表現する仕組みです。初心者はまず 200 OK の返し方を覚え、その後プラス α の使い方へと進んでいくと良いです。
responseentityの同意語
- ResponseEntity
- Spring FrameworkでHTTPレスポンスを表すクラス。ステータスコード、ヘッダー、ボディを1つにまとめて返す枠組み。コントローラの戻り値として使われる。
- HTTPレスポンスオブジェクト
- HTTP通信で返ってくるレスポンスを格納するオブジェクト。ステータス、ヘッダー、ボディを含む。
- レスポンスエンティティ
- レスポンスの本体とメタ情報をまとめた概念。通常、ボディとメタ情報を一体化した表現を指す。
- 応答エンティティ
- 同義の日本語表現。レスポンスエンティティの別表現。
- レスポンスオブジェクト
- サーバーからの返答を格納するオブジェクト。コントローラの戻り値として扱われることが多い。
- HTTP応答オブジェクト
- HTTPプロトコルにおける応答を表すオブジェクト。ステータスコード、ヘッダー、ボディを含む。
- HTTPレスポンスエンティティ
- HTTPレスポンスの本体とヘッダなどを含むエンティティの概念。
- 応答データオブジェクト
- レスポンスのデータ部分を格納するオブジェクト。ボディのコンテンツを指すことが多い。
- レスポンス本体オブジェクト
- レスポンスのボディ部分を格納するオブジェクト。
- レスポンスデータ本体
- レスポンスのデータ部分を指す表現。
responseentityの対義語・反対語
- RequestEntity
- HTTPリクエストを表すエンティティ。ResponseEntityの対になる概念で、サーバへ送るリクエストそのものを表す。
- Request
- HTTPリクエスト全体。クライアントがサーバへ送る要求で、レスポンスを返す側の対義語的役割を持つ概念。
- HttpServletRequest
- Javaの標準APIでHTTPリクエストを表すインタフェース。サーバ側が受け取るリクエスト情報を提供する。
- HttpRequest
- HTTPリクエストそのものを指す一般的な用語。クライアントからサーバへ送るデータ・情報の集合。
- RequestBody
- リクエストの本文。送信側がサーバへ送るデータの中身で、ResponseEntityのBodyと対になる要素。
- RequestHeaders
- リクエストのヘッダー情報。送信側が付与するメタデータの集合で、ResponseEntityのヘッダーと対になる要素。
responseentityの共起語
- HTTPステータスコード
- レスポンスの状態を表す数値と意味。ResponseEntity で返す際に設定する基本値です。
- HttpStatus
- Spring が提供する HTTP ステータスコードの列挙型。ResponseEntity で status を指定する際に使います。
- ボディ
- レスポンスの実データ部分。ResponseEntity
の T が格納されます。 - ヘッダー
- レスポンスの追加情報を伝えるメタデータ。Content-Type や Location などが含まれます。
- HttpHeaders
- レスポンスヘッダーを表す Spring のクラス。複数のヘッダーを設定するのに使います。
- JSON
- ボディの代表的な表現形式。Spring ではオブジェクトを自動的に JSON に変換して返します。
- Content-Type
- レスポンス本文の媒体タイプ。例: application/json。
- MediaType
- Content-Type の具体的な値を表す Spring の型。JSON や XML などを指定します。
- エンドポイントアノテーション
- @GetMapping, @PostMapping, @PutMapping, @DeleteMapping
- RestController
- @RestController
- Locationヘッダー
- 新しく作成したリソースの URI を返すときに使われるヘッダー。ResponseEntity.created(...) で設定します。
- ResponseEntity.ok
- HTTP 200 OK を返すビルダーメソッド。最も一般的な成功レスポンスの作成に使います。
- ResponseEntity.created
- HTTP 201 Created を返し、新規リソースの場所を通知する際に用います。
- ResponseEntity.noContent
- HTTP 204 No Content を返すためのビルダーメソッド。本文が不要な場合に使用します。
- エラーハンドリング
- 例外を適切な HTTP レスポンスに変換する処理。ControllerAdvice と一緒に使うのが一般的です。
- ControllerAdvice
- @ControllerAdvice
- RFC7807
- HTTP API のエラーペイロードの標準形式(Problem Details)。ResponseEntity での一貫したエラーレスポンスに使われます。
- ResponseEntity
- ジェネリック型で、返すデータの型を指定できる。柔軟で型安全なレスポンスを提供します。
- ジェネリクス
- 型をパラメータ化する機能。ResponseEntity では T の型を指定します。
- REST API
- Web API の設計スタイル。リソース指向の設計で ResponseEntity はこの流れに適した返し方です。
- Spring Boot
- Spring Framework を簡素化するセットアップ。ResponseEntity は Spring Boot でよく使われます。
- Content Negotiation
- クライアントの Accept ヘッダーに応じて返却形式を決める仕組み。JSON 返却と相性が良いです。
responseentityの関連用語
- ResponseEntity
- Spring Framework が提供する HTTP レスポンス全体を表すクラス。ステータス・ヘッダ・ボディをひとつにまとめて返せる。
- HttpEntity
- ResponseEntity の基底クラスで、ヘッダとボディを表す。ステータスを含むことができる場合と含まない場合がある。
- HttpStatus
- HTTP の状態コードの列挙。200系は成功、400系はクライアントエラー、500系はサーバーエラーを表す。
- HttpHeaders
- レスポンスヘッダを管理するデータ構造。Content-Type や Cache-Control などを設定する。
- MediaType
- Content-Type に使われる MIME タイプを表す。例: application/json, text/html。
- RestController
- @RestController が付いたクラスは全てのメソッドの戻り値が自動的にレスポンスボディとして書き出される。
- @ResponseBody
- メソッドの戻り値を直接 HTTP レスポンスのボディとして返すためのアノテーション。
- @RequestMapping
- ルーティングの基本。URL と HTTP メソッドを結びつける。
- @GetMapping
- GET リクエストを処理するためのショートカットアノテーション。
- @PostMapping
- POST リクエストを処理するためのショートカットアノテーション。
- Content-Type
- レスポンス本文のデータ形式を示すヘッダ。例: application/json。
- Accept
- クライアントが受け取りたい形式を示すリクエストヘッダ。
- Content Negotiation
- Accept と Content-Type に基づき、クライアントとサーバーが返す形式を協調する仕組み。
- JSON
- 最も一般的なデータ表現形式。メモリ内のオブジェクトを文字列として送るのに使われる。
- XML
- 別のデータ表現形式。人間にも機械にも読みやすいが、最近は JSON が主流。
- RestTemplate
- Spring の従来の同期 HTTP クライアント。ResponseEntity を返す例が多い。
- WebClient
- Spring の非同期・リアクティブな HTTP クライアント。ResponseEntity を返すことが多い。
- Jackson
- デフォルトの JSON 変換ライブラリ。POJO と JSON の変換の自動化を担当。
- ObjectMapper
- Jackson の中核クラス。オブジェクトと JSON の変換を実装する。
- @ControllerAdvice
- 全体の例外処理やグローバルな処理を集中管理するクラスに付けるアノテーション。
- @ExceptionHandler
- 特定の例外を捕捉して適切な ResponseEntity で返すための方法。
- ResponseEntityExceptionHandler
- Spring が用意する共通の例外処理の実装ベースクラス。
- Location header
- 201 Created の場合に新規リソースの URL を伝えるヘッダ。
- 201 Created
- 新規リソースが正常に作成されたことを示すステータスコード。
- 204 No Content
- 処理は成功したがレスポンス本文がない場合に使われるステータスコード。
- 400 Bad Request
- リクエストの形式やパラメータが不正な場合に使う。
- 404 Not Found
- 指定したリソースが見つからない場合に使う。
- 500 Internal Server Error
- サーバー側で予期せぬエラーが発生した場合に使う。
- Cache-Control
- レスポンスのキャッシュ挙動を指示するヘッダ。
- ETag
- リソースのバージョン識別子。条件付きリクエストで更新の有無を判定するのに使う。
- Problem Details RFC 7807
- 標準化されたエラーレスポンス形式のひとつ。エラー情報を一定の形式で返す手法。
- HATEOAS
- 自己説明リンクを付与する REST の設計思想。Spring HATEOAS で実現できるリンク付きレスポンス。
- ResponseEntity.of(Optional
) - Optional が非空なら 200 相当のレスポンス、空なら 404 などを返す補助的なファクトリメソッド。



















