/// <summary> /// HttpGet 同步请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="domain"></param> /// <param name="path"></param> /// <param name="queries"></param> /// <param name="headerDict"></param> /// <param name="warnMiSeconds"></param> /// <returns></returns> public static async Task <T> GetAsync <T>(string domain, string path, Dictionary <string, object> queries, Dictionary <string, string> headerDict = null, int warnMiSeconds = 200) //where T : new() { return(await TimeWatcherHelper.TimeWatcher(async() => { var request = new RestRequest(path, Method.GET); headerDict = GeneratorHeaderDict(headerDict); foreach (var header in headerDict) { request.AddHeader(header.Key, header.Value); } if (queries != null) { foreach (var query in queries) { request.AddParameter(query.Key, query.Value); } } return await ExecuteHttpClientAsync <T>(domain, request); }, $"HttpGetAsync({domain}{path}) with params {queries.ToJsonStr()}", warnMiSeconds : warnMiSeconds)); }
/// <summary> /// </summary> /// <typeparam name="T"></typeparam> /// <param name="url"></param> /// <param name="headerDict"></param> /// <param name="warnMiSeconds"></param> /// <returns></returns> public static T Get <T>(string url, Dictionary <string, string> headerDict = null, int warnMiSeconds = 200) //where T : new() { return(TimeWatcherHelper.TimeWatcher(() => { var request = new RestRequest(Method.GET); headerDict = GeneratorHeaderDict(headerDict); foreach (var header in headerDict) { request.AddHeader(header.Key, header.Value); } return ExecuteHttpClient <T>(url, request); }, $"HttpGet({url})", warnMiSeconds: warnMiSeconds)); }
/// <summary> /// HttpPost 同步请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="domain"></param> /// <param name="path"></param> /// <param name="bodyObjects"></param> /// <param name="headerDict"></param> /// <param name="warnMiSeconds"></param> /// <returns></returns> public static T Post <T>(string domain, string path, object bodyObjects, Dictionary <string, string> headerDict = null, int warnMiSeconds = 200) //where T : new() { return(TimeWatcherHelper.TimeWatcher(() => { var request = new RestRequest(path, Method.POST); headerDict = GeneratorHeaderDict(headerDict); foreach (var header in headerDict) { request.AddHeader(header.Key, header.Value); } request.AddJsonBody(bodyObjects); return ExecuteHttpClient <T>(domain, request); }, $"HttpPost({domain}{path}) with params={bodyObjects.ToJsonStr()} , header={headerDict?.ToJsonStr()}", warnMiSeconds: warnMiSeconds)); }