Gyakori API-hibaüzenetek

Utolsó frissítés: 3 hónappal ezelőtt

A hibaüzenetek megértése segít gyorsan elhárítani a problémákat. Íme a leggyakoribb hibák, amelyekkel találkozni fog.

400 Hibás kérés (Bad Request)

{
  "error": "media_id is required"
}

Okok:

  • Hiányzó kötelező paraméter

  • Érvénytelen paraméterformátum

  • Rossz formátumú JSON

Javítás: Ellenőrizze, hogy a kéréstörzse megfelel-e az API-specifikációnak ezen a címen: api.cathopic.com/docs.

401 Jogosulatlan (Unauthorized)

{
  "message": "Unauthorized"
}
vagy
{
  "error": "Unauthorized token"
}

Okok:

  • Hiányzó vagy érvénytelen API-kulcs

  • Letiltott API-kulcs

  • Helytelen fejlécnév

Javítás: Ellenőrizze, hogy a x-api-key fejléc helyes-e, és a kulcs aktív-e a Beállítások → API alatt.

404 Nem található (Not Found)

{
  "error": "No file found for media_id 1234"
}
vagy
{
  "error": "Media item not found"
}

Okok:

  • A forrás nem létezik

  • A forrást törölték

  • Helytelen media_id

Javítás: Ellenőrizze, hogy a media_id létezik-e úgy, hogy először kereséssel ellenőrzi: /resources.

429 Túl sok kérés (Too Many Requests)

{
  "error": "Limit exceed."
}

Okok:

  • Túl sok kérés rövid idő alatt

  • Átlépte a sebességkorlátot (rate limit)

Javítás: Alkalmazzon exponenciális visszalépést (exponential backoff). Várjon, majd próbálja újra növekvő késleltetéssel (1s, 2s, 4s, stb.).

500 Belső szerverhiba (Internal Server Error)

{
  "error": "Internal server error"
}

Okok:

  • Ideiglenes szerverprobléma

  • Váratlan körülmény

Javítás: Várjon egy pillanatot, majd próbálja újra. Ha továbbra is fennáll, lépjen kapcsolatba a támogatással.

Hiba kezelésének példa

async function searchWithErrorHandling(query) {
  try {
    const response = await fetch('https://api.cathopic.com/resources', {
      method: 'POST',
      headers: {
        'x-api-key': apiKey,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ query, page: 1, page_size: 20 })
    });
    
    if (!response.ok) {
      const error = await response.json();
      
      switch (response.status) {
        case 400:
          console.error('Bad request:', error);
          break;
        case 401:
          console.error('Unauthorized. Check your API key.');
          break;
        case 404:
          console.error('Resource not found:', error);
          break;
        case 429:
          console.error('Rate limited. Implementing backoff...');
          await sleep(5000);
          return searchWithErrorHandling(query); // Retry
        case 500:
          console.error('Server error. Retrying in 10s...');
          await sleep(10000);
          return searchWithErrorHandling(query);
        default:
          console.error('Unknown error:', error);
      }
      
      throw new Error(`API error: ${response.status}`);
    }
    
    return await response.json();
  } catch (error) {
    console.error('Request failed:', error);
    throw error;
  }
}

Ha a hibák tartósan fennállnak, ellenőrizze a teljes API-dokumentációt, vagy lépjen kapcsolatba a támogatással.

Hasznos volt ez a cikk?