簡體   English   中英

使用restsharp put方法更新AtTask中的項目參數

[英]Updating project parameters in AtTask using restsharp put method

我在與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更新值的任何建議...因為它的大小太大,所以我需要在正文中發送請求...

提前致謝。

好吧,這不是一個答案,但我是通過fluke使其工作的。.因此,主要問題仍然存在..我不能將主體與PUT請求一起使用..即使我使用它的顯示也沒有結果..所以我不得不去僅使用查詢字符串...現在,對於我在查詢字符串中的大參數問題,我正在發送整個alignmentvalues對象,在該對象中我只需要更新該對象中的兩個字段。 因此,在一種反復試驗的方法中,我只在對象中傳遞了三個字段-答案ID和兩個要更新的字段...而且它減小了查詢字符串的大小,幸運的是它對我有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM