Intern
Cum îmbunătățim aplicația pentru a nu se bloca în cazul unei erori a API-ului extern?
sobes.tech AI
Răspuns de la AI
Pentru ca aplicația să nu se prăbușească în cazul unei erori a API-ului extern, trebuie implementate gestionarea erorilor și mecanisme de reziliență:
- Utilizați blocuri try/catch (sau structuri similare) pentru a captura excepțiile la apelarea API-ului.
- Adăugați timeout-uri și încercări repetate cu întârziere exponențială.
- Utilizați logică de fallback: de exemplu, returnați date cache-uite sau valori implicite.
- Înregistrați erorile pentru analiză ulterioară.
- Dacă este necesar, aplicați un circuit breaker — pentru a dezactiva temporar apelurile către API-ul problematic în cazul erorilor frecvente.
Exemplu în Go cu gestionarea erorilor și retry:
func callExternalAPI() (string, error) {
var result string
var err error
for i := 0; i < 3; i++ { // trei încercări
result, err = doRequest()
if err == nil {
return result, nil
}
time.Sleep(time.Duration(i*i) * time.Second) // întârziere exponențială
}
return "", fmt.Errorf("eșec după retries: %w", err)
}