Header und Statuscodes

Einführung in APIs mit Python

Chris Ramakers

Engineering Manager

Anatomie von Request und Response

Beispiel einer Request- und Response-Nachricht. Request: GET /users/42 mit Headern. Response: 200 OK mit JSON-Body mit Nutzerinfos.

Einführung in APIs mit Python

Die Startzeile

Beispiel mit drei Teilen einer Request- oder Response-Nachricht, mit hervorgehobener Startzeile

  • Ein Server enthält in der Response immer einen numerischen Statuscode
Einführung in APIs mit Python

Statuscodes

Kategorien von Statuscodes

  • 1XX: Informative Antworten
  • 2XX: Erfolgreiche Antworten
  • 3XX: Umleitungen
  • 4XX: Client-Fehler
  • 5XX: Server-Fehler

Häufig genutzte Statuscodes

  • 200: OK
  • 404: Nicht gefunden
  • 500: Interner Serverfehler
1 Eine vollständige Liste aller Response-Codes findest du auf der MDN-Seite zu Statuscodes: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Einführung in APIs mit Python

Header

Beispiel mit drei Teilen einer Request- oder Response-Nachricht, mit hervorgehobenen Headern

key1: Value 1
key2: Value 2
Einführung in APIs mit Python

Beispiel: Content-Negotiation mit Headern

Beispiel mit drei Teilen einer Request- oder Response-Nachricht, mit hervorgehobenen Headern

  • Client fügt der Anfrage den Header accept: application/json hinzu
  • Server antwortet mit dem Header content-type: application/json
Einführung in APIs mit Python

Header mit requests

# Header zu einer Anfrage hinzufügen
response = requests.get(
  'https://api.datacamp.com', 
  headers={'accept':'application/json'}
)
# Response-Header lesen
response.headers['content-type']
'application/json'
response.headers.get('content-type')
'application/json'
Einführung in APIs mit Python

Statuscodes mit requests

# Auf den Statuscode zugreifen
response = requests.get('https://api.datacamp.com/users/12')

response.status_code == 200
True
# Statuscodes mit requests.codes nachschlagen
response = requests.get('https://api.datacamp.com/this/is/the/wrong/path')

response.status_code == requests.codes.not_found
True
Einführung in APIs mit Python

Lass uns üben!

Einführung in APIs mit Python

Preparing Video For Download...