2016-07-16 14 views
0

Я использую API Archer REST для загрузки нового приложения.
После я загрузил вложение У меня есть File Id, теперь я пытаюсь обновить поле записи с новым приложением, то, что я пытаюсь в теле запроса:
Загрузить поле вложения через REST API

{"Content":{"Id": 278800, "LevelId" : 222,"FieldContents" : {"21771" : {"Type" : 11, "Value" : {"File id" : "1738", "Value": "RestUpload.xml"}, "FieldId" : 21771}, "16108" : {"Type" : 1, "Value" : "RestAPI Text x3", "FieldId" : 16108}} 

Я получил следующий результат:

{ 
"Links": [], 
"RequestedObject": { 
    "Id": 278800 
}, 
"IsSuccessful": true, 
"ValidationMessages": [] 
} 

Но только поле Text обновляется.
Что мне нужно исправить?
Спасибо.

ответ

1

Самый простой способ увидеть, как форматировать поле в PUT или POST, это сделать вызов GET и посмотреть, как это поле отформатировано в ответе. В этом случае ваше тело запроса должно выглядеть следующим образом:

{"Content":{"Id": 213726 , "LevelId" : 255,"FieldContents" : {"16751": {"Type" : 11, "Value" : [11,3], "FieldId": 16751}}}} 

Обратите внимание, что список идентификаторов файлов, прикрепленных к этой записи является массивом, и должен быть представлен в виде разделенного запятыми списка идентификаторов в содержащийся в квадрате кронштейны.

+0

Привет, я пробовал ваше тело, но это все еще не успех .. вместо [11,3] мне нужно заменить своим идентификатором файла? – CSharpBeginner

+0

Да, правильно. Поместите компиляционный список идентификаторов файлов в квадратных скобках для представления массива в JSON. Если в записи есть вложение, обязательно включите этот идентификатор, или он больше не будет прикреплен после вашего обновления. – bodie

+0

Привет, я пытаюсь написать вот так: «16751»: {«Type»: 11, «Value»: [1730], «FieldId»: 16751}, когда 1730 - это мой идентификатор файла, это поле является типом вложения, но его не сработало для меня .. – CSharpBeginner