Viele Ressourcen durchlaufen einen Lebenszyklus: Eine Bestellung wird aufgegeben, bezahlt, versandt und zugestellt; ein Start wird geplant, abgesagt oder durchgeführt. Die Modellierung als Zustandsautomat bedeutet, die Zustände und die zulässigen Übergänge zwischen ihnen aufzulisten und alles andere abzulehnen – man kann eine Bestellung, die nie bezahlt wurde, nicht versenden oder eine bereits zugestellte stornieren.
Übergänge werden üblicherweise als Aktionen – z. B. POST /orders/7/cancel – oder als Aktualisierung eines Statusfelds, das vom Server validiert wird, dargestellt. Ein ungültiger Übergang führt zu einem 409-Fehler (Konflikt), da die Anfrage zwar korrekt formatiert ist, aber mit dem aktuellen Zustand der Ressource in Konflikt steht. HATEOAS-Antworten können nur die Links für aktuell gültige Übergänge enthalten.
Dieser Status ist lediglich ein weiteres Feld. Ein Client, der den Status frei über eine generische PUT-Anfrage festlegt, kann für das Unternehmen wichtige Status überspringen – Rückerstattungen ohne Stornierungen, Lieferungen ohne Versand. Die Übergänge, nicht das Feld, bilden die Grundlage.
Die Cargo Tracking API ist ein vollständiger Zustandsautomat: POST /cargo/v1/shipments/{id}/advance bewegt ein Paket einen Schritt weiter und antwortet am Ende der Zeile mit 409, und drei fehlgeschlagene Zustellversuche senden es an den Absender zurück.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert