본문으로 건너뛰기

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를 사용합니다.