美文网首页
C# RestSharp 使用

C# RestSharp 使用

作者: 吉吉的纸飞机 | 来源:发表于2022-06-13 16:02 被阅读0次

RestSharp 官网 https://restsharp.dev
https://github.com/restsharp/RestSharp

参考
https://blog.csdn.net/xiaopanpan92/article/details/115463636

//1.首先创建一个 RestClient对象
//serviceUrl是需要请求的地址
 var client = new RestClient(serviceUrl);
//2.创建一个请求,这里可以指定请求的类型
  var request = new RestRequest(Method.POST);
//3.给请求加各种参数
//添加头部信息
request.AddHeader("Content-Type", "multipart/form-data");
//添加文件
//也可以通过字节流的方式添加文件 AddFileBytes(string name, byte[] bytes, string filename, string contentType = "application/x-gzip")
request.AddFile("filePath", pdfPath);
//添加参数
request.AddParameter("Timeout", options.Timeout.Value)
//官网中还有好多添加参数的方法
//可以查看该地址进行https://restsharp.dev/api/RestSharp.html#class-restrequest
//4.执行请求,并获得返回值
   var restResponse = client.Execute(request);
   result = restResponse.Content;
//处理返回值序列化也进行了封装,可以直接调用方法
//例如 Execute<Call>(request),可以直接将返回值序列化为对象
//至此一个请求就发送接收成功了
//使用起来还是比较方便的

使用

        private async Task RequestAsync<T>(Dictionary<string, string> parameter)
        {

            RestClient client = new(Constants.HOST_URL);
            RestRequest request = new("api/v1/banner", Method.Get);
            string signature = AuthHelper.getBase64Signature(parameter);
            _ = request
                .AddHeader("signature", signature)
                .AddHeader("access-key", "game_box");
            RestResponse<ApiResponse<T>> response = await client.ExecuteAsync<ApiResponse<T>>(request);
            ApiResponse<T> result = response.Data;

            Trace.WriteLine("restResponse" + result);

        }
 public class ApiResponse<T> : BaseResponse<T>
    {
        public int code { get; set; }
        public string message { get; set; }
        public T value { get; set; }

        public override int getResponseCode()
        {
            return code;
        }

        public override T getResponseData()
        {
            return value;
        }

        public override string getResponseMsg()
        {
            return message;
        }

        public override bool IsSuccess()
        {
            return code == 0 ? true : false;
        }
    }

相关文章

网友评论

      本文标题:C# RestSharp 使用

      本文链接:https://www.haomeiwen.com/subject/wevomrtx.html