Erstellung einer ersten API
Bei der Anmeldung an die generische Pflegeoberfläche /form zeigt diese erst einmal nichts an, da noch keine API definiert wurde:

Mit einem HTTP POST an /schema/tutorial/stringonly wird eine API stringonly im Namensraum tutorial angelegt. Die Objektklasse soll nur ein einziges Feld ‚name‘ der Art ‚Zeichenkette‘ ("type": "string") enthalten, die zwischen 4 ("min": 4) und 40 ("max": 40) Zeichen enthalten muss.
Die generische Oberfläche erhält den Hinweis, dass diese Eigenschaft in der Tabellenansicht erscheinen soll ("column": true). All dies beschreibt das JSON, das an das CMS gesendet wird:
{
"application": "Tutorial",
"label": "Hello World",
"project": "NeuroomNet-CMS Tutorial",
"tags": [],
"fields": {
"name": {
"cms": {
"column": true
},
"type": "string",
"min": 4,
"max": 40
}
}
}
Bei den Attribut-Werten zu application und label im JSON-File handelt es sich um reine Anzeigenamen für das CMS-Frontend (oder andere Anwendungen, welche diese Felder entsprechend auswerten):
application: Anzeigename für den Namespace für das CMS-Frontend. In diesem Beispiel ist der Anzeigename des Namespacestutorial, welcher im HTTP-Request enthalten ist,Tutorial(mit einem Großbuchstaben am Anfang).label: Anzeigename für die API / Collection für das CMS-Frontend. In diesem Beispiel ist der Anzeigename der APIstringonly, welche im HTTP-Request enthalten ist,Hello Worldproject: Projekt in der Projects-View, dem die Kombination aus Namespace und API zugeordnet werden soll.
Wichtig: Falls eines oder mehrere dieser Felder fehlen bei der Definition einer API, dann erscheint die Collection höchstwahrscheinlich nicht in der Projects-View im CMS-Frontend (ist dann dort nur über die Namespace-View zugänglich).
Dieses JSON-File kann bspw. wie folgt an das CMS geschickt werden über Kommandozeile (hierbei ist natürlich ein entsprechender User erforderlich und das obige JSON-File muss als Datei Request1.json entsprechend vorliegen):
curl -X POST -H "Content-Type: application/json" --user "<myuser>":"<mypassword>" -d @Request1.json https://<url>/schema/tutorial/stringonly
Nach einem Webseiten-Reload erscheinen der Namespace und die API entsprechend im CMS-Frontend (über die Projekt-Ansicht oder Namespace-Ansicht) und die Collection kann inspiziert werden nach Mausklick:

Die Collection stringonly ist natürlich noch leer. Deshalb fügen wir nun über das CMS-Frontend einen Datensatz hinzu (Button "Add new item", im Popup einen entsprechenden Namen eingeben und speichern):

Alle CRUD Operation auf einer API können auch über HTTP/POST ausführt werden. Daher lässt sich ein neuer Datensatz mit einem POST auf /data/tutorial/stringonly anlegen mittels folgendem curl-Request über Kommandozeile:
curl -X POST -H "Content-Type: application/json" --user "<myuser>":"<mypassword>" -d @Request2.json https://<url>/data/tutorial/stringonly
Das dazugehörige JSON-File "Request2.json" hat folgenden Inhalt:
{
"name": "Nicolas"
}
Nach Reload der Webseite / CMS-Frontend ...form/#/tutorial/stringonly ist der Datensatz zu "Nicolas" sichtbar:

Zu beachten ist, dass
- Daten-CRUD-Requests an
...data/namespace/apigeschickt werden, - Schema-Änderungs-Requests an
...schema/namespace/apigeschickt werden und - das (optionale) CMS-Frontend normalerweise unter
...form/#/...verfügbar ist.