Attask を使用したプロジェクトで少し苦労しています。私の目的は、カスタムフォームデータを使用してプロジェクトのalignmentValuesを更新することです。更新する新しいアライメント値を作成できましたが、putメソッドを使用して実行できません...実行したいリクエストは
PUT /attask/api/project/4c7...?updates=
{
alignmentValues: [
{
scoreCardOptionID: "2222...54d0",
scoreCardQuestionID : "8897...54d1",...
},....
]
}
私のコードスニペットは
var request = new RestRequest("project/{id}", Method.PUT);
request.AddUrlSegment("id", pid);
request.RequestFormat = DataFormat.Json;
JObject _putData = new JObject();
_putData.Add("alignmentValues",newAnswers);
更新オブジェクトについては、いくつかの組み合わせを試しました
request.AddParameter("updates",_putData,ParameterType.RequestBody); //no effect
request.AddBody(new {name = "updates", value = _putData}); //no effect
この体のアプローチでは、プロジェクトの名前を更新することさえできません。しかし、パラメーターをクエリ文字列として指定すると、名前は正常に更新されますが、URL が大きくなりすぎるため、配置値が失敗します。
var request = new RestRequest("project/{id}?updates=" + _putData , Method.PUT);
上記は _putData が小さい場合に機能します... name = "TEST" のように..しかし、大きな json 配列では失敗します..
addbody/addobject/addjsonobject/addparameter を使用して値を更新する方法に関する提案...サイズが大きいため、本文でリクエストを送信する必要があるため...
前もって感謝します。