-
Notifications
You must be signed in to change notification settings - Fork 1
CustomerController
Der CustomerController repräsentiert die CustomerRessource. Customers können erstellt, bearbeitet und abgefragt werden (siehe Swagger).
Customer Ressource:
{
"id": 2,
"firstname": "Vorname",
"lastname": "Nachname",
"address": {
"id": 3,
"street": "Straße",
"zip": "PLZ",
"city": "Stadt"
},
"createdAt": "2020-05-30T12:29:11"
}
Wichtig Properties eines Kunden:
-
address
: ist die Adresse eines Kundes, besteht aus einer Straße, PLZ und Stadt.
Der CustomerController sorgt für das erstellen, Bearbeitung und löschen von Adressen. Wird z.B. der Straßenname der Adresse im Request verändert, so ändert der CustomerController diese Adresse ab. Werden nur die Properties mitgeschickt, so wird eine neue Adresse erstellt.
Endpoints:
Bei Änderungen an Ressourcen muss immer die ganze Ressource mitgeschickt werden, nicht nur einzelne Teile.
Für alle Controller gilt: Existiert ein Objekt schon, reicht die ID. Falls das Objekt verändert werden soll, sendet man die ID + alle Properties des Objektes. Soll ein Objekt erstellt werden, lässt man die ID null.
Spezialfall OrderController: Wenn ihr zu viel Properties dem Controller sendet, werden diese ignoriert, es löst keinen Fehler aus, so kann also direkt das Objekt welches von GET kommt bearbeitet und an PUT gesendet werden !