public async Task <T> GetAsync <T>(string uri, object commonParam, object filter, int timeout, params object[] listParam) { T result = default(T); if (!this.Check()) { return(result); } using (var httpClient = new HttpClient()) { string requestUrl = ""; this.RequestBuilder(httpClient, uri, timeout, ref requestUrl, listParam); ApiParam apiParam = new ApiParam(); if (filter != null || commonParam != null) { apiParam.CommonParam = commonParam; apiParam.ApiData = filter; string param = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(apiParam))); requestUrl += string.Format("{0}={1}", ApiConfig.API_PARAM, param); } HttpResponseMessage responseMessage = await httpClient.GetAsync(requestUrl).ConfigureAwait(false); if (!responseMessage.IsSuccessStatusCode) { LogSystem.Error(String.Format("Loi khi goi api: {0}/{1} " + "\nStatusCode: {2} " + "\nInput: {3}{4}", httpClient.BaseAddress.AbsoluteUri, uri, responseMessage.StatusCode.GetHashCode(), JsonConvert.SerializeObject(filter), JsonConvert.SerializeObject(commonParam))); throw new ApiException(responseMessage.StatusCode); } string responseData = responseMessage.Content.ReadAsStringAsync().Result; try { result = JsonConvert.DeserializeObject <T>(responseData); } catch (Exception ex) { LogSystem.Error("responseData: " + responseData); LogSystem.Error("requestUrl: " + requestUrl); LogSystem.Error(LogUtil.TraceData("apiParam", apiParam)); throw ex; } } return(result); }
public T Post <T>(string uri, object commonParam, object data, int timeount, params object[] listParam) { T result = default(T); if (!this.Check()) { return(result); } using (var httpClient = new HttpClient()) { string requestUrl = ""; this.RequestBuilder(httpClient, uri, timeount, ref requestUrl, listParam); ApiParam apiParam = new ApiParam(); if (data != null || commonParam != null) { apiParam.ApiData = data; apiParam.CommonParam = commonParam; } HttpResponseMessage responseMessage = httpClient.PostAsJsonAsync(requestUrl, apiParam).Result; if (!responseMessage.IsSuccessStatusCode) { LogSystem.Error(String.Format("Loi khi goi api: {0}/{1} " + "\nStatusCode: {2} " + "\nInput: {3}", httpClient.BaseAddress.AbsoluteUri, uri, responseMessage.StatusCode.GetHashCode(), JsonConvert.SerializeObject(data))); throw new ApiException(responseMessage.StatusCode); } string responseData = responseMessage.Content.ReadAsStringAsync().Result; try { result = JsonConvert.DeserializeObject <T>(responseData); } catch (Exception ex) { LogSystem.Error("responseData: " + responseData); LogSystem.Error("requestUrl: " + requestUrl); LogSystem.Error(LogUtil.TraceData("apiParam", apiParam)); throw ex; } } return(result); }