Sto lavorando su un sistema che espone un'API REST. Il mio sistema, per soddisfare alcune richieste, ha bisogno di chiamare le API esterne. Queste API talvolta non riescono (con errori interni del server) e questi errori impediscono al sistema di completare l'operazione correttamente.Codice HTTP migliore per un errore di un sottosistema esterno
Qual è il miglior codice di stato HTTP che dovrebbe restituire il sistema? Vorrei distinguere i fallimenti dei sistemi esterni da guasti interni del mio sistema quindi non sono particolarmente contento di tornare 500.
503 - Servizio non disponibile per errori esterni e 500 per interno? Oppure 504 - Timeout del gateway per errori esterni. – JaggenSWE
ma questo non distingue ancora tra il mio sistema e le sue dipendenze. – jfu
Lo fa, se il codice di errore restituito è 503/504 per le chiamate esterne che falliscono e 500 per le chiamate interne che falliscono c'è la tua distinzione. Lo costruisci nella tua applicazione per prendere un 500 da una chiamata esterna e restituirlo come 503/504 al tuo cliente. – JaggenSWE