C# HttpClient Example

//GET işlemleri için dönen değeri istediğiniz modele dönüştürür.
public async Task<T> GetHttpRequestService<T>(Uri uri)
        {
            T result = default(T);
            using (HttpClientHandler noProxyHandler = new HttpClientHandler())
            {
                noProxyHandler.UseProxy = false;
                using (var client = new HttpClient(noProxyHandler))
                {
                    try
                    {
                        var response = await client.GetAsync(uri);
                        var json = await response.Content.ReadAsStringAsync();

                        result = JsonConvert.DeserializeObject<T>(json);
                    }
                    catch (Exception exp)
                    {
                        StateLogger.LogError(exp);
                    }
                }
            }
            return result;
        }
//GET işlemleri String değer döner   
public async Task<string> GetHttpResponseServiceAsString(Uri uri)
        {
            string result = string.Empty;
            using (HttpClientHandler noProxyHandler = new HttpClientHandler())
            {
                noProxyHandler.UseProxy = false;
                using (var client = new HttpClient(noProxyHandler))
                {
                    try
                    {
                        result = await client.GetStringAsync(uri);

                    }
                    catch (Exception exp)
                    {
                        StateLogger.LogError(exp);
                    }
                }
            }

            return result;
        }
//POST İşlemleri için dönen değeri istediğiniz modele dönüştürür.
 public async Task<T> GetHttpRequestPostService<T>(Uri uri, HttpContent content)
        {
            T result = default(T);
            using (HttpClientHandler noProxyHandler = new HttpClientHandler())
            {
                noProxyHandler.UseProxy = false;
                using (var client = new HttpClient(noProxyHandler))
                {
                    try
                    {

                        var response = await client.PostAsync(uri, content);
                        var json = await response.Content.ReadAsStringAsync();

                        result = JsonConvert.DeserializeObject<T>(json);
                    }
                    catch (Exception exp)
                    {
                        StateLogger.LogError(exp);
                    }
                }
            }
            return result;
        }

Metodları çağırma için aşağıdaki gibi kullanabilirsiniz.
AdresSonuc modeli yerine kendini modelinizi yazıp dönen sonuca göre işlem yapabilirsiniz.

AdresSonuc adresSonucResponse = await httpRequestService.GetHttpRequestPostService<AdresSonuc>(uri, content);

Leave a Reply