RestSharp介绍
不得不说,RestSharp
是一款非常有用的REST API
客户端库。RestSharp
可能是.NET
中最受欢迎的HTTP客户端库,具有自动序列化和反序列化,请求和响应类型检测,各种身份验证以及其他有用的功能,正在被成千上万的项目使用。
RestSharp
在NuGet
上的下载量超过3200万,评价每日下载量为10000。许多受欢迎的OSS项目(包括Roslyn
和Swagger
)都在使用它。
特点包括:
- 序列化 - 支持JSON,XML和自定义序列化和反序列化
- 同步和异步 - 各种重载机制以支持同步和异步HTTTP调用
- 广泛的配置 - 几乎可以自定义HTTP调用的每个方面
- 认证方式 - 支持基本的,
OAuth 1
,OAuth 2
,JWT
和NTLM
- 表单 - 请求体和文件 - 将对象作为请求主体以JSON或XML或表单形式发送。以字节或流的形式上传和下载文件。
- 参数 - 使用简单流畅的API添加查询、URL片段、正文、表单或头参数
使用中遇到的问题解决方法
1、 API接口中存在列表数据
现在存在一个这样的API接口:
针对这样的API接口,是不可以直接使用AddParameter添加相关的参数信息的。
根据在网上查找的资料,这样写可以提交成功:
var client = new RestClient("URL");
var request = new Restquest();
request.AddParamater("materialInfoId","materialInfoId Value",ParameterType.QueryString);
request.AddParameter("application/json","List Value should Convert json",ParameterType.RequestBody);
var response = client.Post<responsetype>(request);
根据常规写法我们可以这样写:
var client = new RestClient("URL");
var request = new Restquest();
request.AddParamater("materialInfoId","materialInfoId Value",ParameterType.QueryString);
request.AddHeader("Content-Type","application/json");
var para = new Parameter("materialSns","List Value should Convert json",ParameterType.RequestBody);
request.AddParameter(para);
var response = client.Post<responsetype>(request);
URL
需要替换成正确的URL
,ResponseType
是你根据API返回类型自己定义的类型。List Value should Convert json
需要你将数据列表内容转化为json
。