È pertinente utilizzare il codice di errore Http nella mia "Applicazione"

0

È accettabile utilizzare i codici di stato Http (.NET HttpStatusCode enum) nella mia applicazione invece di creare una nuova enumerazione?

Ho rilevato un problema (problema di progettazione?) nella mia API, ad esempio nel processo di autenticazione, avevo questa firma del metodo:

public bool authenticate(string token)

Lasciandomi con una possibilità Sì / No, dove avevo bisogno, alla fine un caso Maybe (Ma sono dettagli non necessari), quindi ho deciso di creare un nuovo oggetto con un HttpStatusCode e una stringa per descrivere il motivo dello stato , invece di creare / mantenere un nuovo codice di errore enum

public class ReturnCode {
    public HttpStatusCode code;
    public string reason;
}

Quindi lo stato mi ha aiutato a gestire le differenze del 401 e del 403.

Ho capito che potrebbe essere un duplicato di: Devo usare i codici di stato HTTP per descrivere eventi a livello di applicazione

Ma non penso che la parte del protocollo della risposta sia una mia preoccupazione, perché non potrei nemmeno restituire (lo stesso) errori al sito web (o forse non capisco la risposta dato che non sono inglese nativo altoparlante).

    
posta Drizzt 11.11.2016 - 11:24
fonte

1 risposta

0

I codici di stato HTTP sono utili per restituire lo stato di un'azione richiesta. Un server web è solitamente la cosa che gestisce la richiesta di un'azione. Se devi gestire le richieste HTTP come fa un tipico server web, allora è ragionevole restituire un codice di stato HTTP appropriato come parte della risposta a una richiesta.

Se utilizzi questi codici di stato solo all'interno dell'applicazione e non li restituisci come parte di una risposta a una richiesta HTTP, dovresti utilizzare qualsiasi tipo di codice di stato necessario per soddisfare le esigenze degli utenti. Se l'attuale elenco di codici di stato HTTP rende il tuo codice sorgente migliore in qualche modo, quindi usali. Se non soddisfano le esigenze dei tuoi utenti, quindi usa qualcos'altro.

    
risposta data 11.11.2016 - 20:35
fonte

Leggi altre domande sui tag