2. Spezifikation des Dienstgebers - nReinhardt91/WBA2SS16KruschReinhardtKlein GitHub Wiki
1. Ressourcen
- Rezepte
- WGs
- Einkaufsliste
Diese Ressourcen wurden als grundlegend erachtet, sie sind die wesentlichen Ressourcen des Systems.
Es wird abgefragt, wenn die jeweilige Methode aufgerufen wird, ob eine der Ressourcen vorhanden ist existiert. Es werden bei Fehlermeldungen oder Erfolg Statuscodes abgeschickt.
Wir verwenden eine Redis Datenbank, auch wenn immer mal wieder MongoDB als Datenbank im Raum stand. Redis basiert auf NoSQL und einem Key-Value-Prinzip. Dieses Key-Value-Prinzip ist bei kleinen bzw. wenigen Daten effizienter, weil sie über einen Key eindeutig identifizierbar sind. Dieser Key wird z.B. zum aufrufen von Rezepten, WGs oder Einkaufslisten benutzt. Auch zum erstellen wird dieser Key benutzt.
2. Spezifikation REST Webservice
Ressource | Methode | Semantik | content-type (req) | content-type (res) | |
---|---|---|---|---|---|
x | /rezepte/{:id} | GET | liefert das gesamte Rezept | text/plain | application/json |
x | /rezepte/{:id} | PUT | Rezept aktualisieren, bearbeiten | application/json | application/json |
x | /rezepte/{:id} | DELETE | Rezept löschen | text/plain | text/plain |
x | /rezepte/{:id}/zutatenliste | GET | gibt die Zutaten aus | text/plain | application/json |
x | /rezepte/{:id}/zutatenliste | POST | Zutaten ändern | application/json | application/json |
x | /rezepte/{:id}/zutatenliste | DELETE | löscht Zutatenliste | text/plain | text/plain |
x | /rezepte | GET | listet alle Rezepte auf | --- | application/json |
x | /rezepte | POST | neues Rezept anlegen | application/json | application/json |
/* ------- */
Ressource | Methode | Semantik | content-type (req) | content-type (res) Status | |
---|---|---|---|---|---|
x | /wgs/{:id} | GET | gibt eine WG (id, name, strasse)zurück | text/plain | application/json |
x | /wgs/{:id} | POST | erzeugt eine WG | application/json | application/json |
x | /wgs/{:id} | DELETE | löscht eine WG | text/plain | text/plain |
x | /wgs/{:id}/Einkaufsliste | GET | gibt die Einkaufslisten der WG wieder | text/plain | application/json |
x | /wgs/{:id}/Einkaufsliste/{:id} | GET | gibt eine Einkaufsliste aus | text/plain | application/json |
x | /wgs/{:id}/Einkaufsliste/{:id} | POST | erstellt eine Einkaufsliste | application/json | application/json |
x | /wgs/{:id}/Einkaufsliste/{:id} | DELETE | löscht eine Einkaufsliste aus | text/plain | text/plain |
x | /wgs/{:id}/Einkaufsliste/{:id} | PUT | bearbeitet eine Einkaufsliste | application/json | application/json |
Eine Einkaufsliste hat eine ID und einen Namen wie z.B. Geburtstagsliste, Abendessen...
/* ------- */
Ressource | Methode | Semantik | content-type (req) | content-type (res) Status | |
---|---|---|---|---|---|
X | /zutaten/ | GET | listet alle Zutaten auf | text/plain | application/json |
X | /zutaten/{:id} | GET | gibt eine Zutat zurück | text/plain | application/json |
X | /zutaten/{:id} | PUT | ändert eine Zutat | application/json | application/json |
X | /zutaten/{:id} | POST | fügt eine Zutat hinzu | application/json | application/json |
X | /zutaten/{:id} | DELETE | löscht eine Zutat | text/plain | text/plain |