Gateway

  • ์‹ค์ œ ์™ธ๋ถ€์™€์˜ ์ง์ ‘ ํ†ต์‹ ์„ ๋‹ด๋‹น

  • ๋ฐ˜๋“œ์‹œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊ตฌ์„ฑ

  • ๋‹จ์ˆœ ํ†ต์‹ ๋งŒ ํ•˜๋Š” ์—ญํ• ์„ ํ•ด์•ผํ•˜๋ฉฐ ์ ˆ๋Œ€ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง, ๋„๋ฉ”์ธ ๋กœ์ง์ด ๋“ค์–ด๊ฐ€๋ฉด ์•ˆ๋จ.

public interface IHttpClientGateway
{
    // Return json object from server using newtonsoft json
    public UniTask<TResponse> RequestAsync<TRequest, TResponse>(string url, TRequest requestData);
}
public class HttpClientGateway : IHttpClientGateway
{
    public async UniTask<TResponse> RequestAsync<TRequest, TResponse>(string url, TRequest requestData)
    {
        string jsonRequest = JsonConvert.SerializeObject(requestData); // ์ง๋ ฌํ™”
        string jsonResponse = "{}"; // ์„œ๋ฒ„์—์„œ ๋ฐ›์€ JSON ์‘๋‹ต
        await UniTask.Delay(1000); // ์„œ๋ฒ„ ํ†ต์‹  ๋Œ€์‹  1์ดˆ ๋Œ€๊ธฐ
        return JsonConvert.DeserializeObject<TResponse>(jsonResponse); // ์—ญ์ง๋ ฌํ™”
    }
}

Last updated