- WebClientビルダーのセットアップ WebClientビルダーを使用するには、まず必要なパッケージをインストールします。NuGetパッケージマネージャーコンソールで以下のコマンドを実行してください。
Install-Package System.Net.Http -Version 4.3.4
- WebClientビルダーの使用 以下のコード例は、WebClientビルダーを使用してGETリクエストを送信する方法を示しています。
using System;
using System.Net.Http;
class Program
{
static void Main()
{
var client = new HttpClientBuilder()
.WithBaseAddress("https://api.example.com")
.WithTimeout(TimeSpan.FromSeconds(10))
.WithHeader("Authorization", "Bearer {access_token}")
.Build();
var response = client.GetAsync("/endpoint").Result;
var content = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(content);
}
}
class HttpClientBuilder
{
private HttpClient _client;
public HttpClientBuilder()
{
_client = new HttpClient();
}
public HttpClientBuilder WithBaseAddress(string baseAddress)
{
_client.BaseAddress = new Uri(baseAddress);
return this;
}
public HttpClientBuilder WithTimeout(TimeSpan timeout)
{
_client.Timeout = timeout;
return this;
}
public HttpClientBuilder WithHeader(string name, string value)
{
_client.DefaultRequestHeaders.Add(name, value);
return this;
}
public HttpClient Build()
{
return _client;
}
}
上記のコードでは、WebClientビルダークラスを使用してHttpClientを構築しています。WithBaseAddress
メソッドでベースアドレスを設定し、WithTimeout
メソッドでタイムアウトを設定します。WithHeader
メソッドを使用してリクエストヘッダーを追加することもできます。最後に、Build
メソッドを呼び出してHttpClientを取得します。
注意点として、上記のコードでは同期的な実行を示していますが、実際のアプリケーションでは非同期メソッドを使用することをおすすめします。
以上が、WebClientビルダーを使用してWebクライアントを作成する方法となります。これにより、より柔軟で拡張可能なWebクライアントを実装することができます。