我々は賢いので。

かんとーちほーのエンジニアの、仕事とか、趣味とか、いろいろなはなし。

REST API を C# から叩くお勉強。

f:id:sugaryo1224:20171122123758p:plain

東京の天気を調べるツール作った

f:id:sugaryo1224:20171122123341j:plain

ライブドア提供のWeatherAPIを叩くだけのシンプルなツール。

取り敢えずお試し実装なので、OAuth認証とかが必要なく単純にURL構築してアクセスするだけでJSON返ってくるシンプルなAPIなので採用。

JSON Parser

NuGet先生で json.NET のライブラリを使用。

f:id:sugaryo1224:20171122123452j:plain

GitHub

GitHub - sugaryo/RestAPI4Sharp: REST API をC#から叩く勉強用のプロジェクト

で、REST API って何さ。

f:id:sugaryo1224:20171122123843j:plain

コイツでも解るように書くと。

  • HTTPでアクセス出来るWebサービスのこと。
  • URL書いてアクセスすれば処理結果を返してくれる。
  • 処理結果はJSONまたはXML形式の文字列データである事が多い。
    (これは「ただの文字列」だから、基本的にどんなプログラムからでも利用できる。何言語じゃないと実装できない、とかが無い。)

つまり整理すると

  • インターネット接続環境があり、
  • HTTP接続する手段(例えばC#だとHttpClientクラスというのを使うと楽ちんちん)があり、
  • 欲しい情報に対応するURLを構築すれば
  • 目的に応じた情報JSONXMLが手に入る。
  • あとはJSONXMLの文字列を、自分が扱いやすい形に変えてやれば良い。

というもの。

※当然、情報の取得(GET)だけでなく、登録(POST)なんかも出来るが細かい話は割愛。

取り敢えず、URL書いてアクセスすればなんかやってくれるモノ、と理解しとけば良い。

REST API について更に詳しく

何となく概要を掴むならこの程度の説明で良いかな。

これで何となくモヤモヤ感が晴れて「もう少し詳しく知りたいよ」ってなったら

qiita.com

この辺のQiita記事が入門としてシンプルで解り易かった。

async / await について

C#(HttpClient)を使うなら、あわせてこの辺も読むことになると思うので先に張っておく。

qiita.com