1 using Newtonsoft.Json;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Net.Http;
 6 using System.Net.Http.Headers;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 
10 namespace Services
11 {
12     public class HttpHelper<T> where T : class, new()
13     {
14         private Uri BaseUri
15         {
16             get
17             {
18                 return new Uri(GlobalString.BaseUrl);
19             }
20         }
21 
22         private Uri RequestUri(string requestUrl)
23         {
24 
25             return new Uri(BaseUri, requestUrl);
26         }
27 
28        //用Post还是用Get,要与WebApi的请求方式一致
29         public async Task<T> GetPostResult(string requestUrl, FormUrlEncodedContent content)
30         {
31             using (var client = new HttpClient())
32             {
33                 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(GlobalString.JsonHeader));
34                 using (var response = await client.PostAsync(RequestUri(requestUrl), content))
35                 {
36                     if (response.IsSuccessStatusCode)
37                     {
38                         var productJsonString = await response.Content.ReadAsStringAsync();
39                         return JsonConvert.DeserializeObject<T>(productJsonString);
40                     }
41                     return new T();
42                 }
43             }
44         }
45     }
46 }
服务类

相关文章: