ブラウザからRESTリクエストを送信するGoogle Chromeの拡張機能

こんにちは!ぐちです。

REST API

スマホアプリなどのバックエンドとしてサーバ側に配置するWeb APIがありますがこれらを自作する際の動作確認として様々な方法があります。

テスト用のクライアントアプリを作るなりGET、POSTどちらでも動作するようにパラメータの取得を工夫してブラウザから確認するなど挙げられます。ただAPIに手を入れたりクライアントアプリを作ったりしなければなりません。

めんどくさいですよね?!笑

そんな方に超便利なツールをご紹介します!

Advanced REST client

Google Chromeの拡張機能として公開されているリクエストを投げることができるフォームを提供しているツールです。Firefoxでも似たようなものがありますがこちらのほうが若干使いやすい気がします。笑

非常に便利な機能となっており使いこなせば動作確認が格段に実施しやすくなります。では、まずはインストールから。

テストコード

今回はkeyというパラメータ名で値を渡せばJSON形式でレスポンスを返すAPIを検証用に作りました。パラメータがない場合は「parameter is not exists.」という文字列を返すようにしています。

サンプルコードは以下の通りです。

<?php
App::uses('ApiAppController','Controller');

class ApiController extends ApiAppController {
    public $uses = array('TblHoge');

    public function index() {
        $val = 'parameter is not exists.';
        if(isset($this->reqObj['key'])) {
            $val = $this->reqObj['key'];
        }
        parent::success(array('status' => 'ok','data' => $val));
    }
}
<?php
App::uses('Controller', 'Controller');

class ApiAppController extends Controller {
    protected $reqObj;
    protected $result = array();
    private $isError = false;

    public function beforeFilter() {
        parent::beforeFilter();

        if($this->request->isPost()) {
            $this->reqObj = $this->request->data;
        } else {
            $this->reqObj = $this->request->query;
        }

        $this->response->header('X-Content-Type-Options', 'nosniff');
    }

    protected function success($response = array()) {
        $this->viewClass = 'Json';
        $this->set('response', $response);
        $this->set('_serialize', array('response'));
    }
}

インストール

こちらからChromeにインストールします。

あとは表示される通りにアプリ画面からAdvanced REST clientをクリックして起動します。起動直後の画面は以下の通りです。

スクリーンショット 2015-11-16 11.20.37

GETリクエスト

写真の赤枠にリクエスト送信先のURLを記入します。GETの場合はURL入力欄の下のリクエスト種別のラジオボタンでGETを選択します。

スクリーンショット 2015-11-16 11.20.37 のコピー

Sendボタンをクリックで指定したURLにリクエストを送信します。

スクリーンショット 2015-11-16 12.19.18

パラメータを付加する際はURLの後ろに「?key=111」のようにGETパラメータを指定します。

スクリーンショット 2015-11-16 12.13.07

ここまでであればブラウザからでも難なく確認することができますよね?Advanced REST clientが便利なのはここからです!!

POSTリクエスト

通常のブラウザでは確認することができないPOSTリクエストを送信することができるのがAdvanced REST clientの便利なところです。

下記の写真のようにリクエスト種別のラジオボタンで「POST」を選択して、「Form」タブをアクティブにしパラメータ値を入力します。

スクリーンショット 2015-11-16 12.29.18のコピー

実行結果は想定通り下記のようになります。

th_スクリーンショット 2015-11-16 12.34.51のコピー

もちろんパラメータなしでも想定通りの動作をすることを確認しましょう。

th_スクリーンショット 2015-11-16 12.37.27のコピー

RESTful API向け

GET、POSTのほかにもPUTやDELETEなどRESTful APIに対応したリクエストを送ることができますのでAPIの動作確認にはバッチリな拡張機能となっています。

では今回はこの辺で。