我正在使用 RestSharp 106.11.7。
我正在嘗試在 ADO 上創建一個任務。我使用 RestSharp 如下:
var body = new AdoRequestBody
{
op = "add",
path = "/fields/System.Title",
from = null,
value = "Sample task"
};
var request = new RestRequest("aStringPointingtoApi", Method.POST);
request.AddJsonBody(body);
有了這個,身體被序列化為:
{
"op": "add",
"path": "/fields/System.Title",
"from": null,
"value": "Sample task"
}
根據ADO API,這是正確的正文:
[
{
"op": "add",
"path": "/fields/System.Title",
"from": null,
"value": "Sample task"
}
]
我在 Postman 中嘗試了帶有陣列/串列括號的主體,它正在作業。如果我洗掉陣列/串列括號它不起作用。
這是我收到的錯誤訊息:
You must pass a valid patch document in the body of the request.
這里有人似乎找到了使用 Newtonsoft.Json.JsonConvert 的解決方案,我不想使用它。 https://github.com/restsharp/RestSharp/issues/1413#issuecomment-578302527
那么,如何讓 RestSharp 在陣列括號內序列化我的物件?
uj5u.com熱心網友回復:
API 需要一個物件陣列,AdoRequestBody而您正在序列化單個物件。如評論中所述,使用您的單個物件創建一個陣列,然后為請求序列化它:
var body =
new AdoRequestBody[]
{
new AdoRequestBody
{
op = "add",
path = "/fields/System.Title",
from = null,
value = "Sample task"
}
};
var request =
new RestRequest(
"aStringPointingtoApi",
Method.POST);
request.AddJsonBody(body);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/523055.html
標籤:C#http邮政锐利
