/// <summary> /// Get类型请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="requestModel"></param> /// <returns></returns> public async Task <HttpResponseResultModel <T> > GetAsync <T>(HttpRequestModel requestModel) { var client = CreateClient(); client.BaseAddress = new Uri($"{requestModel.Host}"); AddAuthorizationHeader(client, requestModel.Token, requestModel.TokenType); var response = await client.GetAsync(requestModel.Path).ConfigureAwait(false); var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var isSuccessStatusCode = response.IsSuccessStatusCode; var statusCode = response.StatusCode; return(new HttpResponseResultModel <T> { HttpStatusCode = statusCode, IsSuccess = isSuccessStatusCode, BackResult = JsonHelper.DeserializeObject <T>(content) }); }
/// <summary> /// Post类型请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="requestModel"></param> /// <returns></returns> public async Task <HttpResponseResultModel <T> > PostAsync <T>(HttpRequestModel requestModel) { var client = CreateClient(); client.BaseAddress = new Uri($"{requestModel.Host}"); AddAuthorizationHeader(client, requestModel.Token, requestModel.TokenType); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, requestModel.Path); string json = JsonHelper.SerializeObject(requestModel.Data); request.Content = new StringContent(json, System.Text.Encoding.UTF8, requestModel.ContentType); HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false); var statusCode = response.StatusCode; var isSuccessStatusCode = response.IsSuccessStatusCode; var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); return(new HttpResponseResultModel <T> { HttpStatusCode = statusCode, IsSuccess = isSuccessStatusCode, BackResult = JsonHelper.DeserializeObject <T>(content) }); }
/// <summary> /// Post类型的请求(非json) /// application/x-www-form-urlencoded 类型 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="requestModel"></param> /// <returns></returns> public async Task <HttpResponseResultModel <T> > PostAsFormUrlEncodedAsync <T>(HttpRequestModel requestModel) { var client = CreateClient(); client.BaseAddress = new Uri($"{requestModel.Host}"); AddAuthorizationHeader(client, requestModel.Token, requestModel.TokenType); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, requestModel.Path); // DATA 如下request //List<KeyValuePair<string, string>> request = new List<KeyValuePair<string, string>>();//构建 //request.Add(new KeyValuePair<string, string>("AutoCommit", "false")); //request.Add(new KeyValuePair<string, string>("ConsumerId", consumerId)); if (requestModel.Data != null) { request.Content = new FormUrlEncodedContent(requestModel.KeyValuePairData); } HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false); var statusCode = response.StatusCode; var isSuccessStatusCode = response.IsSuccessStatusCode; var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); return(new HttpResponseResultModel <T> { HttpStatusCode = statusCode, IsSuccess = isSuccessStatusCode, BackResult = JsonHelper.DeserializeObject <T>(content) }); }