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
。