Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 18 Nächste Version anzeigen »

Hinweis: Der Service befindet sich im Entwicklungsstadium. D.h. es wird sich noch einiges ändern, insbesondere die Struktur der Daten.

Einführung:

Ab Nuclos 4.0 hat der Nuclos Server einen RESTful Service integriert, der automatisch gestartet wird. Er dient primär als Interface für einen Webclient, kann aber auch grundsätzlich als Dienst verwendet werden.

Er ist unter dem Pfad "/rest/*" zu erreichen, z.B. für eine lokale Installation des Servers auf dem Port 8080:

http://localhost:8080/nuclos-war/rest/<pfad>.  (z.B. für logout: http://localhost:8080/nuclos-war/rest/logout)


Session:

Jeder Teilservice außer dem Login benötigt eine Session ID. Wird keine Session ID übergeben, bzw. ist die Session ID ungültig, gibt der Service einen Fehler mit dem HTTP Status 401 (Unauthorized) zurück. Die Session ID kann entweder als Standard-Cookie oder als Http-Header-Parameter beim Aufruf des REST-Services übergeben werden. Der Key muss "sessionid" lauten.

Zu Debug-Zwecken ist vorläufig auch die Möglichkeit gegeben, die Session ID als Query-Parameter zu übergeben. Als Beispiel würde dies hier bei gültiger Session ID funktionieren: http://localhost:8080/nuclos-war/rest/meta/entities?sessionid=i8F3KD12V9c13SqDsvcT


Teilservices/Pfade:

  • Login (Path: /login, Method: POST, Return: String)
    Erwartet ein Webformular mit den Keys "username" und "password" (und optional "locale"), authentifiziert sich damit am Nuclos-Server und gibt eine SessionID als String zurück. Die Session ID benötig wird um alle anderen Teilservices zu verwenden. Login ist der einzige Teilservice, der keine Session ID benötigt. Schlägt der Login fehl, wird ein Fehler mit dem HTTP Status 401 (Unauthorized) zurückgeworfen.

  • Logout (Path: /logout, Method: GET)
    Invalidiert die bestehende Session ID. Diese Methode gibt den HTTP Status 200 (OK), wenn die Session ID gültig war.

  • Entities (Path: /meta/entities, Method: GET, Return: JSON-Array)
    Liefert alle Entitäten zurück, auf die der Benutzer lesend zugreifen kann.

  • LoadData (Paths: /data/load/{uid}, /data/load/{uid}/{offset}, Method: GET, Return: JSON-Array)
    Die ersten 1000 Datensätze der Entität {uid} werden geladen. Falls die Option {offset} gegeben ist, wird ab diesem Datensatz begonnen.

  • GetData (Path:/data/get/{uid}/{pk}, Method: GET, Return: JSON-Array mit 1 oder 0 Elementen)
    Es wird der Datensatz der Entität {uid} mit dem Primärschlüssel {pk} zurückgegeben, falls er existiert.

  • Search (Path: /data/search/{text}, Method: GET, Return: JSON-Array)
    Durchsucht die Entitäten nach dem Suchtext {text} mit Hilfe des Lucene-Indexes.

 

  • Keine Stichwörter