zoukankan      html  css  js  c++  java
  • .net HttpClient 回传实体帮助类

      1     public class HttpClientHelper<T>
      2     {
      3         /// <summary>
      4         /// Get请求  返回实体
      5         /// </summary>
      6         /// <param name="url"></param>
      7         /// <param name="t"></param>
      8         /// <returns></returns>
      9         public static T Get(string url, T t)
     10         {
     11             HttpClient client = new HttpClient();
     12             client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
     13             var result = client.GetAsync(url).Result;
     14             if (result.IsSuccessStatusCode)
     15             {
     16                 string re = result.Content.ReadAsStringAsync().Result;
     17                 var jo = JObject.Parse(re);
     18                 JSchema schema = JSchema.Parse(JsonConvert.SerializeObject(t));
     19                 if (jo.IsValid(schema))
     20                 {
     21                     var m = JsonConvert.DeserializeObject<T>(re);
     22                     return m;
     23                 }
     24                 else
     25                 {
     26                     return default(T);
     27                 }
     28             }
     29             else
     30             {
     31                 return default(T);
     32             }
     33         }
     34 
     35         /// <summary>
     36         /// Get请求  返回string
     37         /// </summary>
     38         /// <param name="url"></param>
     39         /// <param name="t"></param>
     40         /// <returns></returns>
     41         public static string Get(string url)
     42         {
     43             HttpClient client = new HttpClient();
     44             client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
     45             var result = client.GetAsync(url).Result;
     46             if (result.IsSuccessStatusCode)
     47             {
     48                 string re = result.Content.ReadAsStringAsync().Result;
     49                 return re;
     50             }
     51             else
     52             {
     53                 return "";
     54             }
     55         }
     56 
     57         /// <summary>
     58         /// Post请求  返回实体
     59         /// </summary>
     60         /// <param name="url"></param>
     61         /// <param name="t"></param>
     62         /// <returns></returns>
     63         public static T Post(string url, T t, string json = null)
     64         {
     65             var client = new HttpClient();
     66           
     67             var postContent = new StringContent(json, UTF8Encoding.UTF8, "application/json");
     68              var   result = client.PostAsync(url, postContent).Result;
     69             if (result.IsSuccessStatusCode)
     70             {
     71                 string re = result.Content.ReadAsStringAsync().Result;
     72                 var jo = JObject.Parse(re);
     73                 JSchema schema = JSchema.Parse(JsonConvert.SerializeObject(t));
     74                 if (jo.IsValid(schema))
     75                 {
     76                     var m = JsonConvert.DeserializeObject<T>(re);
     77                     return m;
     78                 }
     79                 else
     80                 {
     81                     return default(T);
     82                 }
     83             }
     84             return default(T);
     85         }
     86 
     87         /// <summary>
     88         /// Post请求  返回string
     89         /// </summary>
     90         /// <param name="url"></param>
     91         /// <param name="t"></param>
     92         /// <returns></returns>
     93         public static string Post(string url, string json =null)
     94         {
     95             var client = new HttpClient();
     96             var postContent = new StringContent(json, UTF8Encoding.UTF8, "application/json");
     97             var result = client.PostAsync(url, postContent).Result;
     98             if (result.IsSuccessStatusCode)
     99             {
    100                 return result.Content.ReadAsStringAsync().Result;
    101             }
    102             return null;
    103         }
    104 
    105     }
  • 相关阅读:
    存储过程练习 超市管理系统
    SQL 视图
    SQL 存储过程
    SQL 变量、 运算符、 if 、while
    连接查询
    关于表的主外键关系练习 师生 分数表
    java 代码
    转--select/poll/epoll到底是什么一回事
    python学习路线--从入门到入土
    转---变量LEGB规则
  • 原文地址:https://www.cnblogs.com/LmuQuan/p/11233702.html
Copyright © 2011-2022 走看看