Testen von Idempotenzschlüsseln und sicheren Wiederholungsversuchen

Ein POST-Request mit Timeout stellt den schwierigsten Fall im Client-Design dar: Die Anfrage könnte erfolgreich gewesen sein, ohne dass dies erkennbar ist. Idempotenzschlüssel lösen dieses Problem, indem sie einen sicheren Wiederholungsversuch ermöglichen. Die folgenden APIs akzeptieren einen Idempotenzschlüssel-Header und geben die ursprüngliche Antwort erneut aus, anstatt die Operation erneut durchzuführen.

Idempotenz-Schlüsseltest — request and response sequence Sequence diagram for Idempotency key testing: GET /bank/v1/transfers/{id} answers 200 OK. POST /bank/v1/transfers answers 201 Created. POST /webhooks/v1/deliveries/{id}/replay answers 409 Conflict. Your client Fun API Playground GET /bank/v1/transfers/{id} 200 OK Schau dir einen Transfer an POST /bank/v1/transfers 201 Created Geld zwischen Konten überweisen POST /webhooks/v1/deliveries/{id}/replay 409 Conflict Replay a delivery attempt — re-sends the real HTTP POST (…
Echte Endpunkte aus dem Katalog – jede der oben genannten Anfragen wird bedient, und jeder angezeigte Statuscode ist ein Statuscode, den dieser Endpunkt tatsächlich zurückgibt.

Wie man es übt

  1. Erstellen Sie eine Ressource mit Idempotency-Key. Wiederholen Sie dieselbe Anfrage und prüfen Sie, dass ID und Inhalt der ersten Antwort erhalten bleiben.
  2. Ändern Sie den Inhalt bei gleichem Schlüssel und untersuchen Sie die Fehlermeldung.
  3. Senden Sie denselben Inhalt mit einem anderen Schlüssel und prüfen Sie, dass zwei unterschiedliche Ressourcen entstehen.
  4. Wiederholen Sie eine Überweisung in der Bank-API mit demselben Schlüssel und prüfen Sie, dass sich der Saldo nur einmal ändert.
  5. Erzeugen Sie mit der Fault-Injection-API einen Timeout. Wiederholen Sie mit demselben Schlüssel und prüfen Sie den Endzustand.

APIs, um es auszuprobieren

Betroffene Statuscodes

Andere Techniken

Einstiegsanleitung · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert