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.