2016-07-16 12 views
0

Ich verwende die Archer REST-API, um einen neuen Anhang hochzuladen.
Nachdem ich bin die Anlage i ein File Id haben hochgeladen, jetzt Feld des Datensatzes ich versuche, mit der neuen Anlage zu aktualisieren, was ich in der Anfrage Körper bin versucht:
Anhangsfeld über REST-API hochladen

{"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}} 

Ich habe das folgende Ergebnis:

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

Aber nur das Textfeld aktualisiert.
Was muss ich reparieren?
Danke.

Antwort

1

Der einfachste Weg zu sehen, wie ein Feld in einem PUT oder POST zu formatieren ist, einen GET-Aufruf zu machen und zu sehen, wie das Feld in der Antwort formatiert ist. In diesem Fall sollten Sie Ihre Anfrage Körper wie folgt aussehen:

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

Beachten Sie, dass die Liste der Datei an dieser Platte befestigt IDs ein Array ist, und muss als kommagetrennte Liste von IDs in Platz enthaltenen dargestellt werden Klammern.

+0

Hallo, ich habe versucht Ihren Körper, aber es ist immer noch kein Erfolg .. anstelle von [11,3] muss ich mit meiner Datei-ID ersetzen? – CSharpBeginner

+0

Ja, richtig. Fügen Sie eine durch Kommas getrennte Liste von Datei-IDs in eckige Klammern ein, um ein Array in JSON darzustellen. Wenn bereits ein Anhang im Datensatz vorhanden ist, achten Sie darauf, dass Sie diese ID angeben, sonst wird sie nach dem Update nicht mehr angehängt. – bodie

+0

Hallo, ich habe versucht, so zu schreiben: "16751": {"Typ": 11, "Wert": [1730], "FieldId": 16751} Wenn 1730 meine Datei-ID ist, ist dieses Feld Anlagetyp aber es hat nicht funktioniert für mich .. – CSharpBeginner

Verwandte Themen