WP_REST_Response クラスの使い方|説明・引数・注意点

説明

WP_REST_Response は、REST APIのレスポンス(データ、ステータス、ヘッダー)を表すクラスです。

基本構文

new WP_REST_Response( mixed $data = null, int $status = 200, array $headers = array() )

引数

  • $data:レスポンスのデータ
  • $status:HTTPステータス
  • $headers:ヘッダー

戻り値

WP_REST_Response オブジェクト。

使い方(サンプル)

return new WP_REST_Response( array( 'ok' => true ), 200 );

注意点

  • 配列をそのまま返しても、自動で変換されます。ステータスやヘッダーを制御したいときに使います。

実務での使いどころ

  • REST APIの応答の、データ・ステータスコード・ヘッダーを、まとめて指定するとき。

よくあるミスと対処

  • ステータスコードを、指定していない。作成の成功は、201 などにする。
  • 配列を、返すだけでよいのに、複雑にしている。配列を、そのまま返しても、WordPressが、応答に整える。
  • エラーを、WP_REST_Response で返している。エラーは、WP_Error を返す。

NG例

return new WP_REST_Response( array( 'error' => '見つかりません' ) ); // エラーでも、ステータスが 200

OK例

$response = new WP_REST_Response( array( 'id' => $id ) );
$response->set_status( 201 );
$response->header( 'X-My-Header', 'value' );
return $response;

使い分け早見表

やりたいこと 使うもの
応答を、作る WP_REST_Response
戻り値を、応答に整える rest_ensure_response()
エラーを返す WP_Error()

関連項目

rest_ensure_response()、WP_REST_Request

公式リファレンス:WP_REST_Response | WordPress Developer Resources

コメント

タイトルとURLをコピーしました