C# 使用RestSharp调用WebAPI

在客户端发送http请求,有HttpWebRequest方式,HttpClient,WebClient,RestSharp等等 

个人感觉ResetSharp封装的比较好,比较适合新手使用

本文总结一下RestSharp的基本使用方式.

0 RestSharp的基本资料

相关文档的链接

  官方文档:https://restsharp.dev/getting-started/
  github:https://github.com/restsharp/RestSharp

1 安装

相关dll可以通过nuget中直接下载安装即可.

如果不使用nuget,也可以通过他们git项目给出地址进行下载

2 使用

//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),可以直接将返回值序列化为对象
//至此一个请求就发送接收成功了
//使用起来还是比较方便的

参数选择(官网给出的提示):

  • 所有通过AddParameter添加的值都将以标准编码形式提交,类似于通过网页提交的表单。
  • 如果这是GET样式的请求(GET / DELETE / OPTIONS / HEAD),则将通过查询字符串提交参数值。
  • 您还可以使用添加标题和cookie参数AddParameter。要将对象的所有属性添加为参数,请使用AddObject
  • 要添加要上传的文件,请使用AddFile(请求将以多部分编码形式发送)。
  • 要包含XML或JSON之类的请求正文,请使用AddXmlBodyAddJsonBody

此外,RestSharp还可以支持异步请求

这是官网给的例子

using RestSharp;
using RestSharp.Authenticators;

var client = new RestClient("https://api.twitter.com/1.1");
client.Authenticator = new HttpBasicAuthenticator("username", "password");

var request = new RestRequest("statuses/home_timeline.json", DataFormat.Json);

var timeline = await client.GetAsync<HomeTimeline>(request, cancellationToken);

 

至此RestSharp简单调用就结束了.其他扩展使用可以查看官网

P.S .

有一个简单的小技巧,大家在调试接口中,可以使用 Postman, 调试通过后 可以直接生成 code代码,非常的方便实用

如下图所示:

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值