Obsah

    Odpověď serveru 415 Unsupported Media Type

    HTTP Status Code 415 (Unsupported Media Type)

    HTTP status code 415 (Unsupported Media Type) se objevuje, když server odmítá zpracovat požadavek z důvodu nepodporovaného typu média. To se může stát, když klient se pokouší odeslat data ve formátu, který server není schopen zpracovat. Tento status může signalizovat, že typ obsahu zaslaný klientem není v souladu s očekáváním serveru.

    415 - Unsupported Media Type

    Příčiny vzniku status kódu 415

    • Nesprávný záhlaví Content-Type

      Různé API podporují různé datové formáty. Pokud odeslané záhlaví Content-Type neodpovídá očekávanému formátu, server vrátí status 415.

    • Absence podpory formátu

      Server může jednoduše nepodporovat datový formát, který byl odeslán. Například, pokud API očekává JSON, ale klient odesílá XML, server vrátí 415.

    • Chyby v kódování dat

      Nesprávné kódování dat nebo nesprávná struktura požadavku mohou také vést k chybě 415.

    Praktické příklady

    1. Formát JSON

      Příklad: Klient odesílá JSON, ale nastavuje záhlaví Content-Type na text/plain. Server nebude schopen zpracovat tento požadavek a vrátí 415.

    2. Formát XML

      Příklad: Klient se pokouší odeslat data ve formátu XML, ale server očekává data ve formátu JSON. I v tomto případě bude vrácen kód 415.

    3. Neplatné soubory

      Příklad: Pokud API očekává obrázek ve formátu JPEG, ale klient odesílá soubor PNG s nesprávným záhlavím, server vrátí 415.

    Oprava chyby 415 v různých programovacích jazycích

    Programovací jazyk Příklad kódu
    JavaScript (Node.js)
    
    const axios = require('axios');
    
    axios.post('https://example.com/api', data, {
        headers: {
            'Content-Type': 'application/json'
        }
    })
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        if (error.response && error.response.status === 415) {
            console.error('Unsupported Media Type: Zkontrolujte záhlaví Content-Type');
        }
    });
                    
    Python (Requests)
    
    import requests
    
    headers = {
        'Content-Type': 'application/json'
    }
    response = requests.post('https://example.com/api', json=data, headers=headers)
    
    if response.status_code == 415:
        print('Unsupported Media Type: Zkontrolujte záhlaví Content-Type')
                    
    Java (HttpURLConnection)
    
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class HttpClient {
        public static void main(String[] args) {
            try {
                URL url = new URL("https://example.com/api");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("POST");
                connection.setRequestProperty("Content-Type", "application/json");
                connection.setDoOutput(true);
    
                OutputStream os = connection.getOutputStream();
                os.write(data.getBytes());
                os.flush();
                os.close();
    
                if (connection.getResponseCode() == 415) {
                    System.out.println("Unsupported Media Type: Zkontrolujte záhlaví Content-Type");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }