POST接口底层方法

对于POST请求的接口,我们如何调用它获取到数据,这其中自然少不了底层代码

底层公共类的书写

public class ThirdOpenAPIService
{
  public static ThirdOpenAPIHttpAsyncClient Client = new ThirdOpenAPIHttpAsyncClient(); //HTTP异步客户端
  public static async Task PostHttp(string requestUri, object data)
  {
            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Add("userUID", UserUID.ToString());
                client.DefaultRequestHeaders.Add("token", Token);

                string str = JsonHelper.Instance.Serialize(data);
                var content = new StringContent(str)
                {
                    Headers = { ContentType = new MediaTypeHeaderValue("Application/json") }
                };
                HttpResponseMessage var = await client.PostAsync(requestUri, content);
                if (var.IsSuccessStatusCode)
                {
                    return await var.Content.ReadAsAsync();
                }
                return default(T);
            }
   }

public static Guid UserUID { get; set; }
public static string Token { get; set; }
}

那么在服务逻辑层我们应该怎么写呢,只需要按照一般的写法即可

ThirdOpenAPIService.UserUID = 记录的Cookie用户唯一ID
var response = await ThirdOpenAPIService.PostHttp>(ThirdOpenAPIService.RequestUri(ApiUrls.User.login), new { userName = username, password = pwdCiphertext });//以登录为例

转载于:https://www.cnblogs.com/ButterflyEffect/p/9560494.html

你可能感兴趣的:(POST接口底层方法)