Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Warnung

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

Einführung:

...

Anzeige untergeordneter Seiten


Er ist unter dem Pfad

...

Codeblock
/rest

...

zu erreichen, z.B. für eine lokale Installation des Servers auf dem Port 8080

...

:

...

Session:

...

...

http://localhost:8080/nuclos-war/rest

...

Teilservices/Pfade:

...

Login (Path: /login, Method: POST, Return: String, ohne Session)
Erwartet die Login-Daten per JSON (s. JSON-Spezifikationen), authentifiziert sich damit am Nuclos-Server und gibt eine SessionID als String zurück. Die Session ID benötig wird um andere Teilservices zu verwenden. Schlägt der Login fehl, wird ein Fehler mit dem HTTP Status 401 (Unauthorized) zurückgeworfen.

...

JSON-Spezifikationen:

  • Login ("username": String, "password": String, "locale": String (optional))
    Beispiel für ein gültiges Login-JSONObject:

    Codeblock
    var login = {
    	"username": "user123", 
    	"password": "passXYZ", 
    	"locale": "de_DE"};

    -

...

Filter ("search": String, "offset": Number, "chunksize": Number, "sort": String, (alle optional))
Beispiel für ein gültiges Filter-JSONObject:

Codeblock
var filter = {
	"search": "Hu", 
	"offset": 0, 
	"chunksize": 100, 
	"sort": "desc:szU1s75TFT6kGF7l0Whj"};

-

...

ValueObject ("uid": String, "pk": Number/String, "flag": "insert/update/delete", "<FieldUID>": Object, beliebige Anzahl, "states": Array aus States, optional)
Beispiel für ein gültiges ValueObject-JSONObject:

Codeblock
var vo = {
	"uid":"KIb7Pmxm3AnJtdBWXWsJ",
 	"pk":40000191,
    "flag":"insert",
 	"nyVRqlqCUYvH3GNwlKrn":400,
 	"zTc3H0vtH5o2JV82gRtg":"Schraube"}

-

ValueObjectWithSubData ("uid": String, "pk": Long/String, "<FieldUID>": Object, beliebige Anzahl, "subvos": Array aus ValueObjects)

Beispiel für ein gültiges ValueObjectWithSubData-JSONObject:

Codeblock
var vo = {
	"uid":"A375TFTm3AnJtdBWJtdB",
 	"pk":40002037,
	"flag":"update",
 	"szU1s75TFT6kGF7l0Whj":400,
    "subvos":[{"uid":"KIb7Pmxm3AnJtdBWXWsJ","zTc3H0vtH5o2JV82gRtg":"Schraube","pk":40000191,"flag":"update"},
              {"uid":"KIb7Pmxm3AnJtdBWXWsJ","zTc3H0vtH5o2JV82gRtg":"Stuhl","pk":40000192,"flag":"delete"}]}

 

 

...

EntityMeta ("uid": String, "statemodel": Boolean, "name": String, "statemodel": Boolean, "fields": Array aus Fields)
Beispiel für ein Entity-JSONObject:

Codeblock
{"uid":"KIb7Pmxm3AnJtdBWXWsJ",
 "name":"Artikel",
 "statemodel":false,
 "fields:[{"uid":"cjJ9ga7T6rEnl9FNMNrMdy2","name":"Name","type":"String",
           "readonly":false,"unique":true,"nullable":false,"reference":false,"order":0},
          {"uid":"wwS2lLCi6Rs57E","name":"Bestand","type":"Number",
           "readonly":false,"unique":false,"nullable":true,"reference":false,"order":1}]}

-

...

Field ("uid": String, "name": String, "type": String, "readonly": Boolean, "unique": Boolean, "nullable": Boolean, "reference": Boolean, "order": Number)
Beispiel für ein Field-JSONObject:

Codeblock
{"uid":"KIb7Pmxm3AnJtdBWXWsJ",
 "name":"Bestand",
 "type":"Number",
 "readonly":false,
 "unique":false,
 "nullable":true,
 "reference":false,
 "order",3}

-

...

Result ("total": Number, "title": String, "vos": Array aus ValueObjects)

"total" ist die Anzahl alle Datensätze, die die Suche ohne Einschränkung der Blockgröße gefunden hat. Beispiel für ein Result-JSONObject:

Codeblock
{"total":4,"title":"Artikel","vos":[
{"uid":"KIb7Pmxm3AnJtdBWXWsJ","nyVRqlqCUYvH3GNwlKrn":400,"zTc3H0vtH5o2JV82gRtg":"Schraube","pk":40000191},  {"uid":"KIb7Pmxm3AnJtdBWXWsJ","nyVRqlqCUYvH3GNwlKrn":41,"zTc3H0vtH5o2JV82gRtg":"Stuhl","pk":40000192}]}

-

...

/

...

.

...

-

...

ReferenceValue ("pk": Number/String, "name": String)
Beispiel für ein ReferenceValue-JSONObject:

Codeblock
{"pk":40006894,
 "name":"Herr Rossi"}

-

...

SubEntity ("name": String, "entity": String, "field": String)
Beispiel für ein SubEntity-JSONObject:

Codeblock
{"name":"Artikel,
 "entity":"KIb7Pmxm3AnJtdBWXWsJ",
 "field":"szU1s75TFT6kGF7l0Whj"}

-

...

State ("pk": Number/String, "name": String, "numeral": Number, "current": Boolean, "icon": Base64-Image, optional)
Beispiel für ein State-JSONObject:

Codeblock
{"pk":40000717,
 "name":"Zugewiesen",
 "numeral":10,
 "current":true}

-

...

Menu ("path": String, "entries": Array("uid": String, "name": String, "searchfilter": Number/String, optional))
Beispiel für ein Menu-JSONObject:

Codeblock
{"path":"Freetime",
 "entries":[{"uid":"oJeMHK7Y9A-1L7fOVrocA","name":"Ladder"},
            {"uid":"k4lF4lDOcA-nl36NMw","name":"TreeHouse"},
            {"uid":"Uzmz50InTg-yJ21HtZIA","name":"New Entity", "searchfilter":"HIb2Xmxm7AnLtdAWU8sP"}]}

Datentypen:

...

.

...

.

...

HTTP-Statuscodes:

...