どうもSuです。
普段の仕事で、APIの呼び出しを試す場合、curlコマンドを使うのですが、VSCode(Visual Studio Code)にもRestClientの機能があるようなので、ちょっと試してみました。
ただ、結論を言うと、エンジニアであれば、curlコマンドを使った方が良いと思います。その点も後述します。
VSCodeのRest Clientとは何か?
Rest Clientは、VSCodeのプラグインです。プラグインは拡張機能という意味で、いろいろな機能を追加することができるのですね。たくさんの良いプラグインがあるので、開発者がVSCodeを使う理由は、開発の効率化、開発環境の共通化が多いのではないかなと思います。
ダウンロードサイトはこちらです。
https://marketplace.visualstudio.com/items?itemName=humao.rest-client
Rest Clientのインストール方法
以下でインストールできます。
- VSCodeで、左メニューのプラグインのアイコンをクリック
- 検索ボックスに、「rest client」を入力
- 検索結果に表示された「REST Client」をクリック
- 右側に内容が表示されるので、「Install」をクリック
以上です。
Rest Clientを試してみよう
環境が整ったので、試しにAPIを呼び出してみましょう。
今回使うAPIは、「open-meteo」という天気情報を取得できるAPIです。
通常APIを使う場合は、アカウント登録し、APIを使うためのキーを発行してもらう必要があります。どんなクライアントからリクエストが来ているかAPI側で判別できるようするなどが目的ですね。
でも、意外とそのアカウント登録が面倒なんですよね。ちょっとツールを試すためにアカウント登録なんてできればやりたくない。
しかし、open-meteoは、なんとAPIのキー発行が不要です!
ちょっとAPIを試すのには便利なので、今回のREST Clientに限らずAPIを呼び出すようなツールを試す場合は、活用すると良さそうです。
それでは、APIを使って、「1週間の東京の最低・最高気温」を取得してみましょう。
test.httpというファイルを新規作成しよう
APIを呼び出すURLを書こう
https://api.open-meteo.com/v1/forecast?latitude=35.6785&longitude=139.6823&daily=temperature_2m_max&daily=temperature_2m_min&timezone=Asia%2FTokyo
作ったファイルにこのURLを入力しましょう。それぞれのパラメータの説明は、APIのドキュメントを見てみてください。
URLを入力するとこのように「Send Request」という文字が出てきます。
「Send Request」をクリックすると、以下のようにAPIの結果が返ってきます。
結構簡単ですね!
「temperature_2m_max」が最高気温、「temperature_2m_min」が最低気温です。
REST Clientは良いツール?
良いツールだと思います。思った以上に簡単に使うことができたので、ちょっと遊んでみる時はいいかもしれません。ただ、最初にも書きましたが、エンジニアとしてはcurlコマンドを使いこなせた方が良いと思います。
REST Clientに頼りきりだと、ツール依存になってしまう
REST Clientは良いツールなのですが、REST ClientありきでAPIを呼び出せるだけではエンジニアとしては力不足だと考えます。
例えば、「〇〇〇というAPIのレスポンスのサンプルある?」と言われ「REST ClientでこのURLを実行すれば、レスポンスのサンプル見れます!」みたいな回答をした場合、どう思われるでしょうか?
「え?REST Client入れないといけないの?」、「ターミナルで実行できるcurlコマンドをもらえばすぐに確認できるのだけどなぁ」と思われるかもしれません。
curlコマンドは昔からあるプログラムであるため、Windowsでも、Macでも、Linuxでも実行できるため、相手の環境を気にする必要がないことが多いからです。
もちろん、「今のチームはみんなREST Client入ってるし、この方が共有しやすいのだよね」という場合もあると思いますし、「curlコマンドが正義!」というわけではありません。状況に合わせて両方使いこなせるのが良いですね。
単純なGETリクエストであれば、ブラウザで実行した方が早い
先ほど試してお天気API、実はREST Clientなんて使わなくても、ブラウザにURLを入力してアクセスすれば結果を得ることはできます。
Firefoxを使うと、JSON形式のレスポンスは自動成形されるので、とても見やすいですね。
いろいろなツールがある世の中ですが、使いこなせる良いエンジニアになりたいものです。