Sie integrieren eine neue API. Sie erstellen sorgfältig eine JSON-Anfrage mit allen richtigen Daten, senden sie ab, und anstelle der erwarteten Erfolgsmeldung erhalten Sie einen frustrierenden Fehler zurück: 415 Unsupported Media Type. Sie überprüfen Ihre Authentifizierung, Ihre Endpunkt-URL, Ihre Daten-Payload – alles scheint korrekt. Was ist also schiefgelaufen?
Das Problem liegt wahrscheinlich nicht darin, was Sie gesendet haben, sondern darin, wie Sie dem Server mitgeteilt haben, was Sie senden. Dieser häufige, aber oft verwirrende Statuscode dreht sich alles um Kommunikationsstörungen im Datenformat.
Der 415-Fehler ist die Art des Servers zu sagen: "Ich verstehe, dass Sie versuchen, mir Daten zu senden, aber ich spreche diese Sprache nicht. Ich habe erwartet, dass Sie sie in einem anderen Format senden, das ich tatsächlich verarbeiten kann."
Wenn Sie als Entwickler mit APIs arbeiten – sei es beim Erstellen oder Konsumieren – ist das Verständnis des 415-Statuscodes entscheidend für reibungslose Integrationen und die Vermeidung frustrierender Debugging-Sitzungen.
In diesem detaillierten Leitfaden werden wir untersuchen, was der Statuscode 415 Unsupported Media Type bedeutet, warum er auftritt, typische Szenarien und praktische Wege, ihn zu beheben oder zu vermeiden. Egal, ob Sie ein Entwickler sind, der mit API-Integrationen zu tun hat, oder neugierig sind, wie Webkommunikation funktioniert, dieser Beitrag wird Ihnen helfen, 415-Fehler zu meistern.
Also, tauchen wir ein und beseitigen wir ein für alle Mal die Verwirrung um HTTP 415.
Das Problem: Die Sprache des Servers sprechen
Stellen Sie sich vor, Sie senden einen Brief an jemanden, der nur Französisch liest. Sie könnten den eloquentesten, perfekt strukturierten englischen Brief schreiben, aber wenn der Empfänger kein Englisch versteht, ist Ihre Nachricht nutzlos. Der 415-Fehler ist das digitale Äquivalent dieses Szenarios.
Webserver sind oft darauf ausgelegt, bestimmte Datenformate zu verstehen. Sie müssen wissen, in welcher "Sprache" die eingehenden Daten geschrieben sind, damit sie diese korrekt parsen und verarbeiten können. Der Content-Type-Header teilt dem Server mit, in welchem Format die Daten vorliegen.
Was bedeutet HTTP 415 Unsupported Media Type eigentlich?
Der Statuscode 415 Unsupported Media Type zeigt an, dass der Server die Anfrage versteht, sie aber ablehnt, weil das Payload-Format (Medientyp) in einem Format vorliegt, das vom Server für die angeforderte Ressource nicht unterstützt wird.
Einfacher ausgedrückt: Ihr Client (wie Postman, Apidog oder Ihr Browser) sendet Daten in einem Format, das der Server nicht versteht oder für das er nicht zur Verarbeitung konfiguriert ist.
Der Server sagt im Wesentlichen: "Ich habe Ihre Daten erhalten, kann sie aber nicht verarbeiten, weil sie in einem Format vorliegen, das ich für diesen speziellen Endpunkt nicht verstehe oder unterstütze."
Eine typische 415-Antwort sieht so aus:
HTTP/1.1 415 Unsupported Media TypeContent-Type: application/json
{
"error": "Unsupported Media Type",
"message": "The request payload format is not supported.",
"supported_types": ["application/json", "application/xml"]
}
Dies sagt Ihnen: "Hey! Ich habe Ihre Anfrage erhalten, aber ich kann diesen Content-Type nicht verarbeiten."
Dies bezieht sich am häufigsten auf den Wert des Content-Type-Headers in der HTTP-Anfrage, der das Format der gesendeten Daten angibt (wie JSON, XML oder Multipart-Formulardaten). Einige Server geben möglicherweise hilfreichere Informationen darüber, welche Formate sie unterstützen, während andere eine allgemeinere Fehlermeldung zurückgeben.
Deep Dive: Die technische Definition (für Neugierige)
Gemäß der HTTP/1.1-Spezifikation (RFC 7231), Abschnitt 6.5.13, wird der Statuscode 415 definiert als:
„Der Statuscode 415 (Unsupported Media Type) zeigt an, dass der Ursprungsserver die Bearbeitung der Anfrage ablehnt, weil die Nutzlast in einem Format vorliegt, das von dieser Methode für die Zielressource nicht unterstützt wird.“
Der Kernpunkt hier:
- Das Problem liegt im Medientyp, nicht in den Daten selbst.
- Der Server weiß, was Sie senden möchten – er kann es nur nicht verarbeiten.
Der Kern der Sache: Der Content-Type-Header
Der Content-Type-Header ist die entscheidende Information, die bestimmt, ob Sie einen 415-Fehler oder eine erfolgreiche Antwort erhalten. Dieser Header teilt dem Server mit, welche Art von Daten Sie im Anfragetext senden.
Hier sind die gängigsten Content-Types, denen Sie begegnen werden:
Gängige Content-Type-Werte:
Für JSON-APIs:
application/json– Der Standard für die meisten modernen REST-APIsapplication/json; charset=utf-8– JSON mit expliziter Zeichenkodierung
Für Formulardaten:
application/x-www-form-urlencoded– Traditionelles HTML-Formular-Übermittlungsformatmultipart/form-data– Wird für Dateiuploads und Formulare mit Dateien verwendet
Für XML:
application/xml– Standard-XML-Formattext/xml– Alternatives XML-Format
Für einfachen Text:
text/plain– Einfacher Textinhalttext/html– HTML-Inhalt
Wie der 415-Fehler auftritt: Eine Schritt-für-Schritt-Analyse
Gehen wir genau durch, was passiert, wenn ein 415-Fehler auftritt.
Schritt 1: Der Client sendet eine Anfrage
Eine Client-Anwendung sendet eine Anfrage an einen Server-API-Endpunkt. Nehmen wir zum Beispiel an, wir versuchen, einen neuen Benutzer zu erstellen:
POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/xmlContent-Length: 125
<user><name>John Doe</name><email>john@example.com</email></user>
Schritt 2: Der Server überprüft den Content-Type
Der Server empfängt die Anfrage und untersucht den Content-Type-Header. Er sieht application/xml und überprüft seine Konfiguration für den /api/users-Endpunkt.
Schritt 3: Der Server erkennt das Problem
Der /api/users-Endpunkt des Servers ist so konfiguriert, dass er nur application/json akzeptiert. Für diesen Endpunkt ist kein XML-Parser eingerichtet, und er weiß nicht, wie er mit den eingehenden Daten umgehen soll.
Schritt 4: Die 415-Antwort
Anstatt zu versuchen, die fehlerhaften Daten zu verarbeiten (was zu Fehlern oder Sicherheitsproblemen führen könnte), antwortet der Server mit dem Statuscode 415 Unsupported Media Type.
Schritt 5: Der Client empfängt den Fehler
Die Client-Anwendung empfängt die 415-Antwort und muss diese entsprechend behandeln – normalerweise durch Korrektur des Content-Type-Headers und erneutes Senden der Anfrage.
Häufige Szenarien, in denen Sie auf 415 stoßen könnten
1. Hochladen von Dateien in APIs
Wenn Sie versuchen, ein Bild mit application/json anstelle von multipart/form-data hochzuladen, versteht der Server den Dateiinhalt nicht.
2. Benutzerdefinierte APIs mit strenger Validierung
APIs mit strenger Schema-Validierung lehnen jede Anfrage ab, die nicht ihren Regeln entspricht.
3. Mobile Apps mit veralteten SDKs
Manchmal senden ältere SDKs Anfragen mit veralteten Headern, die von modernen APIs nicht mehr unterstützt werden.
4. Cross-Origin-Anfragen (CORS-Probleme)
Bestimmte CORS-Konfigurationen können akzeptierte Content-Types einschränken, was indirekt zu einer 415-Antwort führen kann.
Die Rolle des Content-Type-Headers
Der Content-Type-Header in HTTP-Anfragen teilt dem Server mit, welchen Datentyp der Client sendet.
Zum Beispiel:
application/jsonfür JSON-Payloads.text/xmlfür XML-Daten.multipart/form-datafür Dateiuploads.
Wenn dieser Header fehlt oder etwas angibt, das der Server nicht verarbeiten kann, werden Sie wahrscheinlich eine 415-Antwort sehen.
Praktische Szenarien, die 415-Fehler verursachen
Szenario 1: Fehlender Content-Type-Header
POST /api/users HTTP/1.1Host: api.example.com
{"name": "John Doe", "email": "john@example.com"}
Viele Server werden dies ablehnen, da kein Content-Type-Header vorhanden ist, der ihnen mitteilt, wie die Daten zu interpretieren sind.
Szenario 2: Falscher Content-Type für die Daten
POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/x-www-form-urlencoded
{"name": "John Doe", "email": "john@example.com"}
Der Header besagt, dass es sich um Formulardaten handelt, aber der Body ist JSON. Diese Diskrepanz verwirrt den Server.
Szenario 3: Server unterstützt das Format nicht
POST /api/users HTTP/1.1Host: api.example.comContent-Type: application/xml
<user><name>John</name></user>
Der Server unterstützt für diesen Endpunkt möglicherweise nur JSON, obwohl das XML wohlgeformt ist.
Testen der Content-Type-Behandlung mit Apidog

Sprechen wir darüber, wie Apidog Ihnen das Leben bei der Bewältigung dieser Fehler erleichtern kann. Das Testen verschiedener Content-Types und die Sicherstellung, dass Ihre API diese korrekt verarbeitet, ist der Bereich, in dem Apidog glänzt. Es macht es unglaublich einfach, diese Szenarien zu testen, ohne komplexen Code schreiben zu müssen.
Mit Apidog können Sie:
- Content-Type-Header einfach festlegen: Verwenden Sie die intuitive Oberfläche von Apidog, um aus gängigen Content-Types auszuwählen oder benutzerdefinierte anzugeben.
- Mehrere Formate testen: Testen Sie schnell denselben Endpunkt mit verschiedenen Content-Types (JSON, XML, Formulardaten), um zu sehen, wie Ihr Server reagiert.
- Fehlerantworten validieren: Stellen Sie sicher, dass Ihre API bei Empfang nicht unterstützter Formate korrekte
415-Antworten mit hilfreichen Fehlermeldungen zurückgibt. - Edge Cases testen: Experimentieren Sie mit fehlerhaften Content-Types, fehlenden Headern oder nicht übereinstimmenden Daten, um sicherzustellen, dass Ihre API diese elegant behandelt.
- Content-Type-Tests automatisieren: Erstellen Sie Test-Suites, die automatisch überprüfen, ob Ihre API unterstützte Formate korrekt akzeptiert und nicht unterstützte Formate ordnungsgemäß ablehnt.
Wenn Sie beispielsweise eine POST-Anfrage in Apidog einrichten, wendet es automatisch den korrekten Content-Type basierend auf Ihrem Anfragetexttyp (JSON, XML, Formular-Daten usw.) an.
Das bedeutet weniger Überraschungen und keine 415-Fehler mehr, die Ihre Testsitzungen ruinieren. Dieses proaktive Testen kann Stunden an Debugging sparen und sicherstellen, dass Ihre API vorhersehbar funktioniert.
415 vs. andere 4xx-Fehler: Den Unterschied kennen
Es ist wichtig, 415 von anderen Client-Fehlern zu unterscheiden:
400 Bad Request: Die Anfrage ist fehlerhaft oder enthält Syntaxfehler, unabhängig vom Content-Type.415 Unsupported Media Type: Die Anfrage ist wohlgeformt, aber in einem Format, das der Server für diesen Endpunkt nicht unterstützt.406 Not Acceptable: Das Gegenteil von415– der Client kann das Antwortformat, das der Server senden möchte, nicht akzeptieren.
Best Practices für den Umgang mit 415-Fehlern
Für API-Konsumenten (Client-Entwickler):
- Setzen Sie immer den korrekten Content-Type-Header, der Ihrem Anfragetextformat entspricht.
- Überprüfen Sie die API-Dokumentation, um zu sehen, welche Medientypen für jeden Endpunkt unterstützt werden.
- Behandeln Sie 415-Fehler elegant in Ihrem Code – gehen Sie nicht davon aus, dass der Server jedes von Ihnen gesendete Format akzeptiert.
- Bieten Sie bei Bedarf ein Fallback-Verhalten an, z. B. die Konvertierung Ihrer Daten in ein unterstütztes Format.
Für API-Anbieter (Server-Entwickler):
- Seien Sie explizit bezüglich der unterstützten Medientypen in Ihrer API-Dokumentation.
- Geben Sie hilfreiche Fehlermeldungen zurück, die angeben, welche Medientypen Sie unterstützen.
- Erwägen Sie die Unterstützung mehrerer Formate, wenn es für Ihre API sinnvoll ist (z. B. sowohl JSON als auch XML).
- Verwenden Sie die richtigen HTTP-Statuscodes – verwenden Sie nicht
400, wenn Sie415meinen.
Beispiel einer gut gestalteten 415-Antwort:
HTTP/1.1 415 Unsupported Media TypeContent-Type: application/json
{
"error": "unsupported_media_type",
"message": "This endpoint only accepts application/json payloads.",
"supported_types": ["application/json"],
"documentation": "<https://api.example.com/docs/content-types>"
}
Häufige Content-Type-Fehler, die 415 verursachen
Hier sind einige Fallstricke, in die Entwickler häufig tappen:
| Fehler | Beschreibung | Beispiel |
|---|---|---|
| Verwendung des falschen Header-Namens | Tippfehler oder Problem mit Groß-/Kleinschreibung | contenttype statt Content-Type |
| Senden von Formulardaten statt JSON | Server erwartet nur JSON | application/x-www-form-urlencoded |
| Charset vergessen | Fehlende Kodierungsinformationen | application/json; charset=utf-8 |
| Leeren Body senden | Fehlende erforderliche Nutzlast | POST /api ohne Daten |
| Verwendung nicht unterstützter Dateitypen | Falsches Upload-Format | Hochladen von .exe statt .png |
Diese scheinen klein, können aber zu großen Anforderungsfehlern führen.
Häufige Lösungen für 415-Fehler
Wenn Sie auf einen 415-Fehler stoßen, sind hier die häufigsten Lösungen:
Fügen Sie den fehlenden Content-Type-Header hinzu:
POST /api/users HTTP/1.1Content-Type: application/json
Korrigieren Sie den Content-Type-Header:
# Vorher (falsch):
Content-Type: text/plain
# Nachher (korrekt):
Content-Type: application/json
Konvertieren Sie Ihre Daten in ein unterstütztes Format:
Wenn der Server nur JSON akzeptiert, stellen Sie sicher, dass Sie korrektes JSON senden und nicht XML oder Formulardaten.
Suchen Sie nach Tippfehlern:
# Falsch:
Content-Type: application/jason
# Korrekt:
Content-Type: application/json
Erweiterte Überlegungen
Content-Negotiation
Einige hochentwickelte APIs unterstützen Content-Negotiation, bei der der Client mithilfe des Accept-Headers angeben kann, welche Formate er akzeptieren kann:
GET /api/users/123 HTTP/1.1Accept: application/json, application/xml;q=0.9
Dies teilt dem Server mit: "Ich bevorzuge JSON, kann aber bei Bedarf auch XML akzeptieren."
Charset-Parameter
Für textbasierte Formate müssen Sie möglicherweise die Zeichenkodierung angeben:
Content-Type: application/json; charset=utf-8
Fazit: Die Bedeutung klarer Kommunikation
Der HTTP-Statuscode 415 Unsupported Media Type verdeutlicht einen grundlegenden Aspekt der Webkommunikation: Beide Parteien müssen sich auf die "Sprache" einigen, die sie zum Datenaustausch verwenden. Es reicht nicht aus, die richtigen Daten zu senden – Sie müssen sie im richtigen Format senden und korrekt angeben, welches Format das ist.
HTTP 415 Unsupported Media Type ist ein wichtiger Bestandteil, um sicherzustellen, dass Server nur erwartete und kompatible Datenformate verarbeiten. Die korrekte Handhabung von Content-Type-Headern, die Einhaltung von API-Spezifikationen und das Testen mit Tools wie Apidog können diese Fehler drastisch reduzieren.
Das Verständnis und die korrekte Behandlung von 415-Fehlern machen Sie zu einem effektiveren API-Konsumenten und einem besseren API-Designer. Indem Sie auf Content-Types achten und eine klare Kommunikation zwischen Clients und Servern gewährleisten, können Sie diese frustrierenden Fehler vermeiden und robustere Integrationen aufbauen. Denken Sie daran: APIs leben von einer klaren Kommunikation zwischen Client und Server. Wenn sie dieselbe "Sprache" sprechen (in diesem Fall den Medientyp), läuft alles reibungslos.
Wenn Sie also das nächste Mal auf einen 415-Fehler stoßen, denken Sie daran, dass es sich nicht um einen komplexen Serverfehler handelt, sondern um ein einfaches Kommunikationsproblem, das normalerweise leicht zu beheben ist. Und wenn Sie APIs entwickeln oder testen, hilft Ihnen ein Tool wie Apidog dabei, sicherzustellen, dass Ihre Content-Types immer korrekt sind, und diese Fehler zu vermeiden, bevor sie auftreten.
