Mac愛用エンジニアにオススメしたい!HTTPクライアントツール「Paw」を使ったAPI開発が便利すぎた

Mac愛用エンジニアにオススメしたい!HTTPクライアントツール「Paw」を使ったAPI開発が便利すぎた

ヤスタカ

ヤスタカ

こんにちは。長野オフィスのヤスタカです。
今年の野尻湖は豪雪で僕のジムニーが雪に埋もれて樹氷のようになっています。
これクルマだいじょうぶなのかな……。

 
今回は Mac で使える HTTP クライアントツール「 Paw 」を紹介したいと思います。

>> Paw [ Mac App Store ]

有料アプリで、49.99ドルするという購入するのに決心を要するアプリですが、実際に使ってみるととても使いやすいんです。たまに Sale で半額になっていることもあるので、僕はその際にすかさず購入しました。なので今回はそのいくつかの機能を紹介します。API を開発する際にも利用する際にもとても便利な機能満載で、HTTP リクエストの作成や、API サーバーからのレスポンスの確認など、いろいろと重宝すること間違いなし。

 

まずは Paw をインストール

Paw_–_The_most_advanced_API_tool_for_Mac
Pawの公式サイトから今回は無料のトライアル版をダウンロードしてみます。
zipファイルがダウンロードされるので、それを解凍するだけです。
 

Paw を使ってみる

Paw を起動

スクリーンショット_2017-01-19_20_48_20
 

まずPawを起動するとこんな感じの画面が立ち上がります。
 

Untitled_Paw_Document

基本的な入力内容は、この部分に URL を入れて再読込ボタンを押すと、リクエストが送信され、右側のエリアにレスポンスが表示されます。

 

GET リクエストにチャレンジ

スクリーンショット_2017-02-16_8_42_32

試しに LIG ブログを GET リクエストで表示してみます。

Untitled_Paw_Document

リクエストやレスポンスのヘッダー情報やどんな html が帰ってきているかなどをいろいろ確認することもできます。

ただ、これだけだとあまりただのブラウザと変わらないので、ここからいろいろとパラメータを変更して試してみたいと思います。

REST API のデモにはこちらのサイトを使います。

>> json placeholder

まずはこの URL を GET リクエストで取得してみます。そうすると、レスポンスとして json のデータが返却され、右側に json データが展開されます。深い階層の json データも見やすく確認できます。

 
スクリーンショット_2017-01-19_22_22_44

例えば json データが帰ってくるような仕様の API サーバーだった場合、リクエストヘッダーの Accept を json に変更してアクセスしたい場合、Headers タブをクリックしてリクエストヘッダーの中身を設定、リクエストを投げられるようになります。

 
json

Header Name に A と打ち込むと候補がずらっと表示されるので、このなかから「 Accept 」を選択、Header Value の値を application / json に指定すると、ヘッダーを指定した値でリクエストを投げてくれます。

また GET パラメータを付与したいときは、URL Params のタブをクリックし、先ほどのヘッダーと同じように Parameter 名と値を入れることにより、?param=value のようなクエリ情報を付与してリクエストを投げます。同じように Body に json を設定して Post で投げたり、Auth タブでは OAuth 認証や Basic 認証情報を一緒に投げることもできます。

 

その他の機能も充実!

スクリーンショット_2017-02-16_9_11_29

さらにすごい機能として、作成したリクエストを投げるプログラムのソースコードを自動で生成する機能がついてるんです! cURL や PHP、WordPress なんてのもあって、試しにいろいろを選択してコード生成してみると、こんなコードが出力されました。

cURLの場合

## Request
curl -X "GET" "https://jsonplaceholder.typicode.com/posts" \
     -H "Accept: application/json"

 

wordpressの場合

<?php

// {@see https://codex.wordpress.org/HTTP_API}
$response = wp_remote_get( 'https://jsonplaceholder.typicode.com/posts', array(
	'headers' => array(
		'Accept' => 'application/json',
	),
) );

if ( ! is_wp_error( $response ) ) {
	// The request went through successfully, check the response code against
	// what we're expecting
	if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
		// Do something with the response
		// $body = wp_remote_retrieve_body( $response );
		// $headers = wp_remote_retrieve_headers( $response );
	} else {
		// The response code was not what we were expecting, record the message
		$error_message = wp_remote_retrieve_response_message( $response );
	}
} else {
	// There was an error making the request
	$error_message = $response->get_error_message();
}

 

javascript (jQuery)の場合

// Request (GET https://jsonplaceholder.typicode.com/posts)

jQuery.ajax({
    url: "https://jsonplaceholder.typicode.com/posts",
    type: "GET",
    headers: {
        "Accept": "application/json",
    },
})
.done(function(data, textStatus, jqXHR) {
    console.log("HTTP Request Succeeded: " + jqXHR.status);
    console.log(data);
})
.fail(function(jqXHR, textStatus, errorThrown) {
    console.log("HTTP Request Failed");
})
.always(function() {
    /* ... */
});

どれもいい感じに成功したときと失敗したときの分岐処理まで生成してくれてますね!

 

まとめ

cURL の黒い画面で確認するのもエンジニアっぽいですが、Paw を使うといろんなパラメータを手軽に変更して API の挙動を確認できるので、とても手軽でわかりやすいです。そのうえコードの自動生成機能まであるなんて、至れり尽くせりですよね。

有料のアプリですがお値段以上の価値はあると思うので、気になった方は是非一度無料の試用版を使ってみてください!

それではー。

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

ヤスタカ
ヤスタカ バックエンドエンジニア / 中田 泰雄

長野の豪雪地域、野尻湖オフィスでバックエンドエンジニアやってます。寒いのは苦手です。

このメンバーの記事をもっと読む