ln.http.resources/doc/JSONCollection.txt

85 lines
2.3 KiB
Plaintext

# Unterstützte Methoden:
DESC /collection Abruf der Objektbeschreibung für diese Collection
GET /collection Abruf von Elementen aus der Kollektion, optional mit Filter
GET /collection/<element identifier> Abruf eines definierten Element der Kollektion
POST /collection Hinzufügen neuer Elemente zur Kollektion
PUT /collection/<element identifier> Hinzufügen / Ändern eines Elements der Kollektion
DELETE /collection/<element identifier> Entfernen eines Elements der Kollektion
# Response Schema der Kollektion
{
collection: <URL> // Die offizielle URL der Kollektion (z.B.: http://myapi.test/mycollection )
failed: {
<IDENTIFIER99>: <MESSAGE> or null, // Element <IDENTIFIER99> konnte nicht bearbeitet werden, optionale Nachricht an Anwender in <MESSAGE>
...
},
values: {
<IDENTIFIER0>: <ELEMENTURL0>, // Element <IDENTIFIER0> wurde erfolgreich hinzugefügt / geändert
<IDENTIFIER1>: null, // Element <IDENTIFIER1> wurde erfolgreich gelöscht
},
desc: {
properties: [
{ name: <PROP0NAME>, type: <PROPTYPE>, readonly: true/false, },
...
],
},
}
# Anfrageschemata
## GET /collection
"" oder
{
filter: [ // Liste alternierender Filter
{
<KEY0>: <FILTEREXPR>, // Filtert die Ergebnisliste durch prüfen der Eigenschaft <KEY> mit <FILTEREXPR>
<KEY1>: <FILTEREXPR1>,
...
},
]
}
## GET /collection/<element identifier>
"" oder
{}
## POST /collection
{
values: [ // Liste hinzuzufügender Elemente
{ // Hinzuzufügendes Element
<KEY0>: <VALUE0>,
<KEY1>: <VALUE1>,
...
},
{
...
}
]
}
## DELETE /collection/<element identifier>
"" oder
{}
## PUT /collection/<element identifier>
{
clear: {
<KEY0>: null, // Feld welches gelöscht werden soll
...
},
set: {
<KEY1>: <VALUE1>, // Feld welches auf einen definierten Wert gesetzt werden soll
...
},
}