Wenn eine Anfrage scheitert und Sie nicht wissen warum
Die meisten „die API ist kaputt“-Meldungen sind eine Anfrage, die nie gesagt hat, wer sie ist. Die Antwort sagt das meist — in dem Teil, den niemand liest.
API Post/Get deckt jede HTTP-Methode ab, ordnet Anfragen in Sammlungen und Ordner, verwaltet Header und Autorisierung und zeigt den Antwortkörper mit Syntaxhervorhebung. Tastenkürzel machen den Wiederholungszyklus schnell, sobald man sie kennt.
Lesen Sie die ganze Antwort, nicht den Status
Die Gewohnheit mit dem größten Zeitgewinn: bei einem Fehler den Antwortkörper öffnen, statt auf den roten Status zu reagieren. Von Menschen geschriebene APIs schreiben den Grund hinein, und das ist meist ein Satz, der die Untersuchung beendet.
Prüfen Sie danach die Header auf beiden Seiten. Eine Anfrage ohne Content-Type: application/json ist die häufigste Einzelursache für ein 400, das unerklärlich wirkt — der Server hat Ihr JSON als Klartext empfangen und konnte es nicht parsen.
Die vier mit konkreter Bedeutung
- 401 — Sie haben sich nicht authentifiziert. Token fehlt, ist fehlerhaft oder steht im falschen Header.
- 403 — Sie haben sich authentifiziert und dürfen nicht. Anderes Problem, andere Lösung; hören Sie auf, das Token erneut zu senden.
- 404 — bei einem Endpunkt, den es nachweislich gibt, heißt das meist, dass eine Pfadvariable leer aufgelöst wurde. Prüfen Sie, ob
{{user_id}}in der gewählten Umgebung wirklich einen Wert hat. - 422 — die Anfrage wurde verstanden, die Daten abgelehnt. Der Körper nennt fast immer das Feld.
Ein 500 ist der einzige, der wirklich das Problem der Gegenseite ist — und selbst dann lohnt es sich, dieselbe Anfrage ohne die optionalen Felder zu senden, bevor Sie melden.
Auth, wo die meiste Zeit verschwindet
Setzen Sie die Autorisierung auf Ordnerebene statt pro Anfrage. Ein Bearer-Token über neunzehn Anfragen zu wiederholen heißt, bei jedem Wechsel neunzehn Anfragen zu ändern — und die eine, die Sie übersehen, ist die, an der Sie zwanzig Minuten debuggen.
Und halten Sie das Token in einer Umgebungsvariablen statt es in den Header zu tippen. Dann wechselt mit der Umgebung auch die Identität, und genau das wollten Sie beim Wechseln.
Häufig gestellte Fragen
Ich bekomme ein 400 und die Anfrage sieht richtig aus. Was nun?
Prüfen Sie, ob Sie Content-Type: application/json senden. Ein als Klartext empfangener JSON-Körper erzeugt genau das: eine Anfrage, die stimmt, und einen Server, der nicht parsen kann.
Was ist der Unterschied zwischen 401 und 403?
401 heißt, Sie haben sich nicht authentifiziert — fehlendes oder fehlerhaftes Token. 403 heißt, Sie haben es und dürfen trotzdem nicht. Das Token erneut zu senden löst das erste und nichts am zweiten.
Wo gehört das Auth-Token hin?
In eine Umgebungsvariable, angewendet auf Ordnerebene. In jede Anfrage getippt heißt es, bei jedem Wechsel alle zu aktualisieren — und die eine übersehene wird zu zwanzig Minuten Debugging.