Seitenhistorie
Anhänge | ||||||
---|---|---|---|---|---|---|
|
Inhalt | ||
---|---|---|
|
Architektur Entscheidungen
Entwurf vom 20.01.2015
- Keine _ in keys.
- UIDs werden durch FQNs ersetzt:
- Statt der UID des BO-Meta wird der Package Name und der Name des BOs genutzt: de_test_Auftrag
- Attribute werden nicht voll-qualifiziert (Ausnahme: im den VLP, Layout ML-Regeln) - Siehe Diskussion
- Trennung von technischen und fachlichen Attributen:
- Bei BOs wird der fachliche Inhalt unter dem Key "bo_content" aufgelistet
Alle Links werden folgendermaßen gerendert:
Codeblock language js "links": { "self": { // key ist das "rel" "href": "http://.../bo_metas/de_test_Auftrag/123", // FQN bei BO "methods": [ "GET", "POST"], // Array }, "bo_meta": { "href": "/bo_metas/de_test_Auftragsposition/", "methods": [ "GET"] } }
- URLs:
- FQN statt UID
- Dependencies:
- URL: FQNs statt UIDs, subforms
Inhalt:
Codeblock "subforms" : { ""de_test_Auftragsposition_Auftrag" : {" : { "links": { "self": { "href": "/bo_metas/de_test_Auftrag/123/subforms/de_test_Auftragsposition/", "methods": [ "GET", "POST"], }, "bo_meta": { "href": "/bo_metas/de_test_Auftragsposition/", "methods": [ "GET"] } } }, "de_test_Reklamation_Folgeauftrag" : { "self": { "href": "/bo_metas/de_test_Auftrag/123/subforms/de_test_Reklamation_Folgeauftrag/", "methods": [ "GET", "POST"], }, "bo_meta": { "href": "/bo_metas/de_test_Reklamation", "methods": [ "GET"] } }, "de_test_Reklamation_Auftrag" : { "self": { "href": "/bo_metas/de_test_Auftrag/123/subforms/de_test_Reklamation_Auftrag/", "methods": [ "GET", "POST"], }, "bo_meta": { "href": "/bo_metas/de_test_Reklamation", "methods": [ "GET"] } }, }
Diskussion:
- Attribute sollten nicht voll-qualifiziert, weil:
- das mehr Traffic erzeugt
- das unübersichtlich aussieht
- Test-Fälle aufwendiger zu erstellen sind.
- Attribute müssen in Layout-ML + VLP Regeln auch zugreifbar sein, insbesondere wenn ein REST Service Client diese Attribute auswertet.
- HAL wird nicht verwendet, wegen der Vermischung von fachlichen und technischen Daten.
- Dependencies oder "subforms"?
- Was ist der key? Der Name des Attributes?
/
Codeblock |
---|
{ "session_id": "ckW5dWQzBxkIfiH2eaWb", "username": "nuclos", "locale": "de_DE", "links": { "list" : {"href": "http://localhost:8280/example/rest/bo_metas", "verb": "GET"}, "menu" : {"href": "http://localhost:8280/example/rest/bo?menu", "verb": "GET"} } } |
...
Überblick
Inhalte