REST API テスター
ブラウザからREST APIにHTTPリクエストを送信しレスポンスを確認できるツールです。PostmanやcURLの代替として、API開発・検証作業を簡単に行えます。
リクエスト
レスポンス
| ステータス | {{ status }} |
|---|---|
| ヘッダ | {{ hkey }}: {{ hval }} |
* APIが「Access-Control-Allow-Origin」ヘッダに「*」を付与していない場合は、データを取得できません。Google Chromeの場合は、次の拡張の利用をご検討ください。
https://chromewebstore.google.com/detail/cors-unblock/lfhmikememgdcahcdlaciloancbhjino
REST APIテスターとは
REST APIテスターは、ブラウザ上でHTTPメソッド(GET・POST・PUT・DELETEなど)を指定してAPIエンドポイントへリクエストを送り、ステータスコード・レスポンスヘッダー・レスポンスボディをその場で確認できるツールです。Postmanのようなデスクトップアプリやコマンドライン用のcURLをインストールせずに、ブラウザだけでAPIの動作検証ができます。
API開発中の動作確認や、公開APIの仕様を試しに叩いてレスポンス形式を把握したいときに使えます。ただしブラウザから直接リクエストを送る仕組み上、対象のAPIがCORS(Access-Control-Allow-Origin ヘッダー)を許可していない場合はレスポンスを受け取れない点に注意してください。
REST APIテスターの使い方
- HTTPメソッドを選択する GET・POST・PUT・PATCH・DELETEなど、リクエストしたい操作に対応するメソッドを選びます。
- エンドポイントURLを入力する リクエスト先のAPIのURLを入力します。httpsで始まる完全なURLを指定してください。
- 必要に応じてヘッダーとボディを設定する 認証トークンやContent-Typeなどのヘッダー、POST/PUTで送信するJSONボディを入力します。
- 送信してレスポンスを確認する ステータスコード・レスポンスヘッダー・ボディがその場に表示されます。
使いこなすためのヒント
- CORS 制限により
Access-Control-Allow-Originヘッダーのない API には直接リクエストできません。公開 API や CORS 許可済みの API でご利用ください。 - リクエストヘッダーに
Content-Type: application/jsonを指定すると JSON ボディを送信できます。 - HTTP ステータスコードの目安: 2xx=成功、4xx=クライアントエラー(401=認証・404=未検出)、5xx=サーバーエラー
- Bearer Token 認証が必要な API は、ヘッダーに
Authorization: Bearer {token}を追加してください。
REST APIテスターの活用シーン
開発中のAPIの動作確認
自作のバックエンドAPIが想定どおりのレスポンスを返すか、実装しながらすぐに確認できます。
公開APIのレスポンス形式の調査
外部サービスのAPIドキュメントを読む前に、実際にリクエストを送ってレスポンスのJSON構造を確認できます。
認証ヘッダーの動作確認
Bearer TokenやAPIキーを付与したリクエストが正しく認証されるかをテストできます。
エラーレスポンスの内容確認
意図的に不正なパラメータでリクエストを送り、APIがどのようなエラーメッセージ・ステータスコードを返すか確認できます。
用語集
- REST
- Representational State Transferの略。HTTPメソッドとURLでリソースを操作するWeb APIの設計スタイルです。
- CORS
- Cross-Origin Resource Sharingの略。ブラウザが異なるオリジン(ドメイン)へのリクエストを制限する仕組みで、APIサーバーが許可ヘッダーを返さない限りレスポンスを読み取れません。
- エンドポイント
- APIがリクエストを受け付けるURLのことです。例えば「/api/users」のように、操作対象のリソースを示します。
- HTTPメソッド
- リクエストの種類を示す識別子です。GET(取得)・POST(作成)・PUT(更新)・DELETE(削除)などがあります。
- Bearer Token
- APIの認証によく使われるトークン形式です。リクエストヘッダーに「Authorization: Bearer {token}」の形で付与します。
よくある質問
Access-Control-Allow-Origin ヘッダーを返さない場合は CORS エラーになります。Chrome 拡張機能(CORS Unblock など)を使うか、CORS を許可している API でお試しください。Content-Type: application/json を追加し、ボディ欄に JSON 文字列を入力して送信してください。Authorization: Bearer {your_token} を追加してください。{your_token} の部分を実際のトークン文字列に置き換えて送信します。
余談ですが ― RESTの誕生 ― Roy Fieldingの博士論文が変えたWeb開発
RESTは2000年にRoy Fieldingが 博士論文「Architectural Styles and the Design of Network-based Software Architectures」で提唱したアーキテクチャスタイルです。FieldingはHTTP/1.1仕様の主要共著者の一人でもあり、HTTPの設計思想を整理する中でRESTという概念を生み出しました。
Twitterは2010年頃にSOAP方式からREST APIへ移行し、開発者に広く公開したことで爆発的に普及しました。現在はStripe(決済)・GitHub・Slack・OpenAI(ChatGPT)など多くの著名サービスがREST APIを公開しており、「APIエコノミー」とも呼ばれる市場を形成しています。
REST APIの設計では「Hypermedia as the Engine of Application State(HATEOAS)」という制約が本来のRESTに含まれますが、これを厳密に実装しているサービスはほとんどありません。「本当のRESTか」という議論はWeb開発コミュニティで定期的に白熱し、「RESTful」という言葉の定義について今も論争が続いています。