[英]RestSharp PUT request parameters
我在弄清楚如何使用RestSharp創建放置請求時遇到問題。
我需要在同一請求中傳遞一個整數,后跟一個JSON主體。
到目前為止,我有這個:
for (var i = 0; i < ReorderedTasks.Count; i++) {
var reorderedTasksJson = new JavaScriptSerializer().Serialize(ReorderedTasks[i]);
var request = new RestRequest("api/task/5/{ID}/", Method.PUT);
request.AddParameter("ID", ReorderedTasks[i].ID.ToString(), ParameterType.UrlSegment);
request.AddParameter("application/json; charset=utf-8", reorderedTasksJson, ParameterType.RequestBody);
client.Execute(request);
}
我已經在POST上測試了JSON廣告requestBody,並且效果很好。 我認為我的問題與我嘗試傳遞ReorderedTasks[i].ID
的第一個參數有關,我不確定我是否正確處理了此傳遞。
我已經在課堂開始時初始化了客戶。
問題是數據庫未更新,我需要找出問題所在。 以上是處理我需要通過的兩個參數的正確方法嗎?
我建議將ReorderedTasks [i] .ID.ToString()直接放在url路徑中。
var request = new RestRequest($"api/task/5/{ReorderedTasks[i].ID.ToString()}/", Method.PUT);
這將有助於減少http請求格式的可能問題。
好吧,這取決於webApi的期望。
您可以使用Fiddler檢查通過電線發送的內容以及得到的響應( http://www.telerik.com/fiddler )
另外-這是一些示例,其他用戶如何使用RestSharp 我如何在RestSharp中使用PUT?
我將其添加到此處,以便有人從中受益。
如果您的端點URL具有要與請求一起傳遞的?param=value¶m2=value
類的?param=value¶m2=value
,則RestSharp的AddParameter(string, string)
不能與PUT
方法一起使用(但它與GET
或端點沒有URL參數,因此具有欺騙性)
使用AddParameter(string, string, ParameterType.QueryString)
才能使PUT
Method正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.