メインコンテンツまでスキップ

HttpLink

HttpLinkは、UnityのUnityWebRequestをビルダーパターンでラップしたHTTPクライアントです。 GET/POSTリクエスト、JSONシリアライズ、ヘッダー設定、タイムアウトを簡潔に処理します。

GET リクエスト

var result = await new HttpLink.Builder()
.SetUrl("https://api.example.com/users/1")
.AddHeader("Authorization", "Bearer token123")
.SetTimeout(10)
.GetAsync<UserData>();

if (result != null)
Debug.Log($"User: {result.Name}");

POST リクエスト

string json = JsonConvert.SerializeObject(new LoginRequest { UserId = "abc", Password = "pw" });

bool success = await new HttpLink.Builder()
.SetUrl("https://api.example.com/login")
.SetJsonBody(json)
.PostAsync();

Debug.Log(success ? "ログイン成功" : "ログイン失敗");

直接送信 (SendAsync)

応答本文または状態を直接確認したい場合はBuild().SendAsync()を使用します。

var link = await new HttpLink.Builder()
.SetUrl("https://api.example.com/data")
.SetMethod(UnityWebRequest.kHttpVerbGET)
.Build()
.SendAsync();

if (link.Success)
{
Debug.Log(link.ReceiveDataString);
}

Builder API

メソッド説明
SetUrl(string)リクエストURLを設定
SetMethod(string)HTTPメソッド (GETまたはPOSTのみサポート、他はNotSupportedException)
SetTimeout(int)タイムアウト(秒)
SetJsonBody(string)JSONリクエストボディを設定 (Content-Type: application/json)
AddHeader(string, string)リクエストヘッダーを追加
GetAsync<T>()GETリクエスト後にJSONを逆シリアライズ
PostAsync()POSTリクエスト後に成功可否を返す
Build()HttpLinkインスタンスを生成
プロパティ説明
Successリクエスト成功可否
ResultUnityWebRequest.Result
ReceiveDataString応答本文(文字列)
ReceiveData応答バイト配列
DownloadSizeダウンロード済みバイト数
DownloadProgressダウンロード進捗(0〜1)

JSONシリアライズ/逆シリアライズはNewtonsoft.JsonJsonConvertを使用します。