//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);