-
Notifications
You must be signed in to change notification settings - Fork 0
Spezifikation von REST APIs
Abbildung: Beispiel RESTBucks
Initial haben wir im Plenum das Beispiel Restbucks aus dem Vortrag REST Beyond the Obvious von Oliver Gerke analysiert und die vorgestellte "URI-Tabelle" betrachtet. Anschließend haben wir exemplarisch Use Cases betrachtet und diese in die fachlichen Vorgangsschritte zergliedert und wiederum in eine Reihenfolgebeziehung gebracht. Auf Grundlage dessen haben wir dann unsere eigene "URI-Tabelle" abgeleitet.
-
In unserem Nutzungskonzept gibt es keine konkreten Reihenfolgebeziehungen zwischen den fachlichen Geschäftsprozessen.
-
Heißt, die Fachprozesse im engeren Sinne bestehen nur aus einem bzw. einigen wenigen Vorgangsschritten. Dies fußt auf der Tatsache, dass in der Domäne „Ungewöhnliche Route draußen“ hauptsächlich Routen, Orte und Historische Lokationen verwaltet werden. Hierbei handelt es sich also primär um CRUD ähnliche Operationen.
-
Darüber hinaus haben wir uns gegen die Erstellung von URIs beispielsweise für das Value Object Lokation entschieden, da der Zugriff über die URIs der Aggregates Ort und Route erfolgen kann.
Die Bezugsperson Dieter (mit der ID 251619) möchte die Route Weg zum Stadtpark der DVP Max editieren:
- Gib mir eine Liste aller DVPs die der Bezugsperson zugeordnet sind
- (Gib mir die DVP Max)
- Gib mir eine Liste aller Routen die der DVP Max zugeordnet ist
- (Gib mir die Route Weg zum Stadtpark)
- Ändere die Route Weg zum Stadtpark
Methode | Resource Type | URI | Aktion | Erläuterung | HAL-Links |
---|---|---|---|---|---|
GET | ReadDVP | /dvp/{dvpId} | DVP Abfragen | Liefert die durch die ID referenzierte DVP |
|
POST | CreateRoute | /routen/dvp/{dvpId} | Route für DVP Anlegen | Neue Route für die durch die ID referenzierte DVP anlegen |
|
GET | ReadRouten | /routen/dvp/{dvpId} | Routen für DVP Abfragen | Liefert eine Liste aller Routen, die der DVP mit der spezifizierten ID zugeordnet sind |
|
GET | ReadRoute | /routen/{routenId} | Route Abfragen | Liefert die Route mit der spezifizierten ID |
|
PUT | UpdateRoute | /routen/{routenId} | Route Updaten | Ändere die Route mit der spezifizierten ID |
|
DELETE | DeleteRoute | /routen/{routenId} | Route Löschen | Lösche die Route mit der spezifizierten ID | |
POST | CreateOrt | /orte/dvp/{dvpId} | Ort für DVP Erstellen | Neuen Ort für die durch die ID referenzierte DVP anlegen |
|
GET | ReadOrte | /orte/dvp/{dvpId} | Orte zu DVP Abfragen | Liefert eine Liste aller Orte, die der DVP mit der spezifizierten ID zugeordnet sind |
|
GET | ReadOrt | /orte/{ortId} | Ort Abfragen | Liefert den Ort mit der spezifizierten ID |
|
PUT | UpdateOrt | /orte/{ortId} | Ort Updaten | Ändere den Ort mit der spezifizierten ID |
|
DELETE | DeleteOrt | /orte/{ortId} | Ort Löschen | Lösche den Ort mit der spezifizierten ID | |
Abbildung: API für MS Route/Ort
Abbildung RESTBuck Beispiel: http://olivergierke.de/2016/04/benefits-of-hypermedia/