導入
「サーバーからデータを取ってくる」——最も基本のHTTP操作がGETです。C#ではHttpClientを使い、awaitで結果を待ちます(非同期がそのまま活きます)。
図解
sequenceDiagram
participant C as C♯アプリ<br/>(HttpClient)
participant S as サーバー<br/>(API)
C->>S: GET /api/hello.json
Note over S: データを準備
S-->>C: 200 OK + 本文(JSON)
Note over C: await していた処理が再開
サンプル
using var client = new HttpClient();
// このサイト内のモックAPIを実際に呼び出す(Web.Origin はサイトのURL)
string body = await client.GetStringAsync(Web.Origin + "/api/hello.json");
Console.WriteLine(body);
// {"message":"Hello, API!"}
HttpClientがHTTP通信の道具。GetStringAsync(URL)でGETし、本文を文字列で受け取るawaitで通信の完了を待つ(GetStringAsyncはTask<string>を返す)using varで使い終わったら後片付けする
演習
using var client = new HttpClient();
// TODO: Web.Origin + "/api/greeting.json" にGETし、本文を出力してください
___
- 期待される出力:
{"greeting":"こんにちは、C#!"}
ヒント1を見る
サンプルのGetStringAsyncのURLを差し替えます
ヒント2を見る
Console.WriteLine(await client.GetStringAsync(Web.Origin + "/api/greeting.json"));
まとめ
HttpClient+GetStringAsync+awaitでサーバーからデータを取得- GETは「取ってくる」操作
- 通信は非同期で待つ
次回: 通信の成否を表す「ステータスコード」です。