ASP.NET Core: IHttpClientFactoryの単純サンプル

IHttpClientの使い方やサンプルの記事を書きましたが、後から見るとちょっと量が多いと感じました。
とりあえず動かしてみたい、概略を知りたい、急いでいる等の人向けに、もっと単純なサンプルを用意してみました。
冒頭の「IHttpClientの使い方やサンプルの記事」については下記をご覧ください。

使い方の要点

  • HttpClientを単独で使うと色々な問題があるので、IHttpClientFactoryを使うことを推奨しています。
  • IHttpClientFactoryからHttpClientを生成する方法が4つありますが、ここでは最も単純な方法を使います。業務ではこの方法は使わないと思うので、参考としてご覧ください。
  • サンプルのプロジェクトや完全なソースコードは下記をご覧ください。

単純なサンプル

ASP.NET CoreのコントローラからIHttpClientFactoryを使ってWebAPIを実行するサンプルになります。

  1. サービス登録
    IHttpClientFactoryを使ってHttpClientクライアントを使う方法は、既定のクライアントを使う方法、名前付きクライアントを使う方法、型付きクライアントを使う方法等があります。
    その中で最も単純な「既定のクライアント」を使う場合、次のようにAddHttpClient()を宣言するのみです。
  2. GET/POSTの実行
    IHttpClientFactoryは「依存関係の注入」で使用するため、コンストラクタの引数で指定します。
    HTTP要求を送信する場合、汎用的なHttpClient.SendAsync()を使う方法、シンプルなGetAsync(), PostAsync()等を使う方法があります。ここではシンプルな後者の方法で記載しています。
  3. 参考:WebAPIのサンプル

    前述のIHttpClientFactory/HttpClientの接続先として使っているWebAPIも載せておきます。
    これらのWebAPIのURLはhttps://localhost:44372/api/ApiTestであり、GET/POSTに対応しています。
    GETの場合、クエリパラメータをJSONに格納して応答します。
    POSTの場合、フォーム内容をJSONに格納して応答します。