zoukankan      html  css  js  c++  java
  • .NET HttpClient扩展

        /// <summary>
        /// HttpClient扩展类
        /// </summary>
        public static class HttpClientExtensions
        {
            /// <summary>
            /// HttpClient请求封装
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <typeparam name="TResult"></typeparam>
            /// <param name="method"></param>
            /// <param name="url"></param>
            /// <param name="sendContent"></param>
            /// <returns></returns>
            public static async Task<ResultInfo<TResult>> RequestAsync<T, TResult>(this HttpClient client, HttpMethod method, string url, T sendContent = default(T))
            {
                HttpRequestMessage requestMessage = new HttpRequestMessage(method, url)
                {
                    Content = method == HttpMethod.Get ? null : new ObjectContent<T>(sendContent, new JsonMediaTypeFormatter())
                };
                var response = await client.SendAsync(requestMessage);
                if (response.IsSuccessStatusCode)
                {
                    var content = await response.Content.ReadAsAsync<TResult>();
    
                    return new ResultInfo<TResult>(true, "请求成功")
                    {
                        Data = content
                    };
                }
                else
                {
                    var error = await response.Content.ReadAsAsync<HttpError>();
    
                    return new ResultInfo<TResult>(false, error.Message);
                }
            }
        }
  • 相关阅读:
    如何解决加载动态链接库DLL失败,返回0,GetLastError返回错误码126
    如何实现点击激活窗体同时窗体不跑到最前覆盖其他窗体
    数据库04
    数据库03
    数据库02
    数据库01
    Linux02
    Linux01
    软件质量
    HTML04
  • 原文地址:https://www.cnblogs.com/guokun/p/5843744.html
Copyright © 2011-2022 走看看