zoukankan      html  css  js  c++  java
  • POST接口底层方法

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

    底层公共类的书写

    public class ThirdOpenAPIService
    {
      public static ThirdOpenAPIHttpAsyncClient Client = new ThirdOpenAPIHttpAsyncClient(); //HTTP异步客户端
      public static async Task<T> PostHttp<T>(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<T>();
                    }
                    return default(T);
                }
       }
    
    public static Guid UserUID { get; set; }
    public static string Token { get; set; }
    }
    
    
    

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

    ThirdOpenAPIService.UserUID = 记录的Cookie用户唯一ID
    var response = await ThirdOpenAPIService.PostHttp<ThirdOpenAPIResponse<T>>(ThirdOpenAPIService.RequestUri(ApiUrls.User.login), new { userName = username, password = pwdCiphertext });//以登录为例
    
    
  • 相关阅读:
    使用Spring AOP实现业务依赖解耦
    对Java提供的锁机制的一些思考
    关于数据库优化的一些想法
    漫谈使用Kafka作为MQ中间件
    数据库事务隔离引发的关于锁机制的思考
    使用Redis作为高速缓存
    Docker 构建映像
    Centos7 Nginx开机启动
    Docker 设置固定网络IP
    CentOS docker 常用命令
  • 原文地址:https://www.cnblogs.com/ButterflyEffect/p/9560494.html
Copyright © 2011-2022 走看看