API開発してて、RSpecでちゃんとテストしてるつもりでもスマホクライアントから叩くと想定外の現象が起きるということはあるものです。そういうときに、純粋に1クライアントとしてhttpアクセスを発生させてみようとcurl使って叩いてました。
ですが、curlは単純なGETやurlにクエリパラメータが入っているレベルだと問題ないですが、http headerに特定の値を付与とかjsonをPOSTするとかやりだした時点でつらくなります。POSTがなかなか上手く行かないケースが発生してストレスマッハで、最悪の場合死に至る。
いくらプログラマとはいえ35歳で人生の定年を迎えたくなかったところ、同僚氏の @chiastolite からhttpieという素敵ツールを教えてもらいました。
httpie
これのREADMEにあるように、
http に続けて、http methodを書き、それからURLの後に ヘッダは key:value, JSONはkey=value という感じで値を渡せます。 しかもJSONでの戻り値が色がついて非常に見やすいですね。
Mac使いなら、
brew install httpie
でよしなに入るのでマジオススメ。