RestSharp的简单用法
最近做了一个项目需要调用外部的API,发现一个很好用的组件,分享一下。
以下RestSharp的描述来自网上摘抄。https://www.xcode.me/post/5748
描述:RestSharp 是一个基于 .NET 框架的 REST 客户端,RestSharp 是一个轻量的,不依赖任何第三方的组件或者类库的 HTTP 组件。RestSharp具有以下的优点:
1、支持.NET4.5.2+ 和 .NET Standard 2.0 平台
2、使用NuGet轻松安装开发包
3、自动 XML 和 JSON 反序列化
4、通过 ISerializer 和 IDeserializer 自定义序列化和反序列化为
5、模糊匹配元素名称 (例如:XML或JSON中的product_id将匹配名为ProductId的C#属性)
6、自动检测返回内容的类型
7、指出 GET, POST, PUT, PATCH, HEAD, OPTIONS, DELETE 和 COPY 请求,支持其它非标准 HTTP 方法
8、OAuth 1.0、OAuth 2.0、Basic、NTLM 和基于参数的身份认证
9、通过 IAuthenticator 接口自定义身份验证方案
10、支持异步操作
github地址:https://github.com/restsharp/RestSharp
一、简单的Api调用
SignModel signModel = new SignModel(); signModel.FileBase64 = fileBase64; signModel.Index = 1; var restclient = new RestClient("http://192.168.0.163:81"); var request = new RestRequest($"/api/Sign", Method.POST); request.AddObject(signModel); var response = restclient.Execute(request); var resout = JsonConvert.DeserializeObject<Resout>(response.Content);
二、获取文件
#region 从wps获取文件的fileBytes if (string.IsNullOrEmpty(fileUrl)) { return new { code = ResultType.Error, message = "文件地址不能为空!", }; } var client = new RestClient("http://ks3-cn-beijing.ksyun.com"); var request = new RestRequest(fileUrl.Substring(33), Method.GET); var response = client.Get(request); var fileBytes = response.RawBytes; #endregion
RestSharp是一个很强大的HTTP组件,我用到的功能比较简单,更多的功能可以去官网查看,官网的实例都很清楚。