In der momentanen Version gibt der POST-Request auf "/getshm" eine lineare Tabelle von Werten zurück. Der Request hat entweder das gewohnte Format, d. h. es wird ein Request-Objetkt an den Server gesendet, oder (neu!) es kann auch ein Array aus Request-Objekten gesendet werden. ///////////////////////////////////////////////////////////////////////////// Beispiel Objekt: { "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "cookie": "idValues1" } Beispiel Array: [ { "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "cookie": "idValues1" }, { "path": "/Anlage_Allgemein_Konfig_Daten/K_Email_Adresse_An[125]", "cookie": "idValues2" }, { "path": "/Anlage_Allgemein_Konfig_Daten/PID_Regler_P", "cookie": "idValues3" } ] ///////////////////////////////////////////////////////////////////////////// Antwort auf Objekt-Request: { "uuid": "6f58640d-9fb4-44e4-b2d3-a5e3125f9e26", "request": [ { "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "cookie": "idValues1" } ], "response": [ { "responseType": 0, "requestIndex": 0, "valName": "K_Anlagen_Name", "valType": 2, "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "index": -1, "value": "Monty Python's Flyin" } ] } Antwort auf Array-Request: { "uuid": "6f58640d-9fb4-44e4-b2d3-a5e3125f9e26", "request": [ { "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "cookie": "idValues1" }, { "path": "/Anlage_Allgemein_Konfig_Daten/K_Email_Adresse_An[125]", "cookie": "idValues2" }, { "path": "/Anlage_Allgemein_Konfig_Daten/PID_Regler_P", "cookie": "idValues3" } ], "response": [ { "responseType": 0, "requestIndex": 0, "valName": "K_Anlagen_Name", "valType": 2, "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "index": -1, "value": "Monty Python's Flyin" }, { "responseType": 1, "requestIndex": 1, "message": "Invalid path!", "code": -1, "path": "/Anlage_Allgemein_Konfig_Daten/K_Email_Adresse_An[125]" }, { "responseType": 0, "requestIndex": 2, "valName": "PID_Regler_P", "valType": 4, "path": "/Anlage_Allgemein_Konfig_Daten/PID_Regler_P", "index": -1, "value": 123.456 } ] } Zu beachten ist, dass die Elemente "request" und "response" in beiden Fällen Arrays sind, im Fall eines Einzel-Requests mit nur einem Element! Die Objekte im response-Array können 2 unterschiedliche Typen sein. Unterscheiden lässt sich der Typ am Member "responseType", das in jedem Fall vorhanden ist. responseType : 0 => es handelt sich um ein Wert-Objekt, das die gewünschte Variable zurückgibt. responseType : 1 => es handelt sich um ein Status-Objekt, das im Fehlerfall zurückgegeben wird. Das Wert-Objekt hat nun zu bereits bekannten Members noch folgndes: requestIndex: gibt den Index des korrespondierenden Requests im request-Array an. Das Status-Objekt enthält nun ebenfalls die Members requestIndex und path. Somit enthalten beide Objekte immer folgende Members: responseType requestIndex path ///////////////////////////////////////////////////////////////////////////// Dieser Aufbau gilt sinngemäss nun auch für "/setshm"! Hier werden zwar keine Werte zurückgegeben, d. h. "responseType" ist immer 1, aber die Status-Objekte sind nun zwecks Konsistenz auch in das response-Array gewandert und haben das selbe Format! Auch hier kann der Request entweder ein Objekt oder ein Array aus diesen Objekten sein! Beispiel Request: [ { "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "value": "Monty Python's Flying Circus", "cookie": "idValues1" }, { "path": "/Anlage_Allgemein_Konfig_Daten/K_Email_Adresse_An[125]", "value": "Blah blah bluh!", "cookie": "idValues2" }, { "path": "/Anlage_Allgemein_Konfig_Daten/PID_Regler_P", "value": 123.456, "cookie": "idValues3" }, { "path": "/Stall_Konfig_Daten[3]", "value": 1, "cookie": "idValues4" } ] Beispiel Response: { "uuid": "6f58640d-9fb4-44e4-b2d3-a5e3125f9e26", "request": [ { "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name", "cookie": "idValues1", "value": "Monty Python's Flying Circus" }, { "path": "/Anlage_Allgemein_Konfig_Daten/K_Email_Adresse_An[125]", "cookie": "idValues2", "value": "Blah blah bluh!" }, { "path": "/Anlage_Allgemein_Konfig_Daten/PID_Regler_P", "cookie": "idValues3", "value": 123.456 }, { "path": "/Stall_Konfig_Daten[3]", "cookie": "idValues4", "value": 1 } ], "response": [ { "message": "", "responseType": 1, "requestIndex": 0, "code": 0, "path": "/Anlage_Allgemein_Konfig_Daten/K_Anlagen_Name" }, { "message": "Invalid path!", "responseType": 1, "requestIndex": 1, "code": -1, "path": "/Anlage_Allgemein_Konfig_Daten/K_Email_Adresse_An[125]" }, { "message": "", "responseType": 1, "requestIndex": 2, "code": 0, "path": "/Anlage_Allgemein_Konfig_Daten/PID_Regler_P" }, { "message": "Cannot assign a value to an object!", "responseType": 1, "requestIndex": 3, "code": -1, "path": "/Stall_Konfig_Daten[3]" } ] } ///////////////////////////////////////////////////////////////////////////// Achtung: HTTP-Statuscodes != 200 werden jetzt nur mehr zurückgegeben, wenn der Request fehlerhaft ist. Bei einem ungültigen Pfad gibt der Server 200 zurück und liefert das entsprechende Status-Objekt!