クリスマスシーズンということでAdvent Calenderのシーズンですね。
唐突ですが、この時期カップルよりも「リア充爆発しろ」ってネガティブワードの方が、たとえそれが記号的に使われてたとしても、嫌やなーって思ってしまう@9reです。
お前のリアルは彼女つくることしかないんか。つまらんなぁって思いますし、やっぱり、
俺こないだこんなパッチ送ってん!とか、この技術凄いやろ!みたいな充実もあると思うねん(`・ω・´)!
さて、変な前置きになりましたが、このエントリは tech.kayac.com Advent Calendar 2012 9日目の記事です(12/9 35時公開)。
テーマは「私の中のマイイノベーション 2012」
nodeのコンソールは便利なjsonビューア
nodejsも普及したし、元々軽量なフォーマットっていうことでJSONのAPI結構多いですよね。
自分は普段Androidアプリ開発やってて、クライアントサイドばっかりなんで、
ドキュメント無かったり、ドキュメントと違ったり、まだ開発中で未実装やったりするようなAPIを試行錯誤すること結構多いです。
その時に気軽にリクエスト投げれて、jsonが見やすいものということで、nodeの同期httpクライアントが候補となりました。
で、自分はhttp-syncっていうシンプルなnodeのcurl拡張にパッチあてて使ってたんですが、この記事書く際についでにpull req送って本家にマージしてもらいました。
でも、nodeのcurl拡張今探してみると結構みつかります。curlの全機能ラッパーとかある気がするんで、そっちの方がmultipartとか送れるしいいかもしれません。
早速実例ですが、たとえば弊社のサービスnakamapのapiドキュメントにはレスポンスがTo be documentedのままですが、
この動画のように、node + curl拡張を使うと、jsonのプロパティの補完が効いてjsonがとても見やすいし、同期的にhttpリクエストを送れるので、レスポンスを = でそのまま代入できて、コールバックの嵐にもならず、とても便利です。
動画にもありますが、自分が投げたリクエストと同じリクエストを投げるcurlのコマンドを生成するっていう機能を実装しておくと、
開発中のapiにリクエストを投げて何かおかしかった時に、
単に「なんかapiおかしいねんけど」やと
「あの、どういうリクエストを投げたんですか?」ってなるので、
「curlおじさん、はーい 」ってircにcurlコマンドとか貼り付けられるんでとっても便利ですよ!