API Web ASP.NET: enum o stringhe

2

Ho un'applicazione API Web ASP.NET. Usa le enumerazioni per determinati insiemi fissi di stati o tipi. Ora ho bisogno di estendere enum per supportare più valori. Ma si romperà la compatibilità all'indietro, quindi ho bisogno di creare una nuova versione del metodo. È meglio usare le stringhe per questo scopo? Suppongo di poter facilmente estendere un elenco di possibili valori stringa e queste modifiche non richiedono una nuova versione del metodo API. Cosa ne pensi?
AGGIORNAMENTO: ho enum

public enum ElementTypes
{
    Tree,
    Test,
    Post
}

e ho bisogno di aggiungere due nuovi elementi in questa enumerazione.

    
posta mtkachenko 14.12.2016 - 10:13
fonte

1 risposta

1

È meglio usare le enumerazioni serializzate come stringhe e utilizzare il controllo delle versioni per affrontare i problemi di compatibilità con le versioni precedenti.

Questo ti dà la sicurezza del tipo di enumerazione nel tuo codice c #, ma conserva i valori significativi nel tuo json e nelle app che consumano.

Forse aggiungi più informazioni sul tuo particolare problema di compatibilità con le versioni precedenti? Aggiungere più valori a una enumerazione non dovrebbe necessariamente causare un problema. Ma ovviamente l'utilizzo di stringhe come input non risolve tutti i possibili problemi di retrocompatibilità, quindi è necessario il versioning in ogni caso

    
risposta data 14.12.2016 - 12:02
fonte

Leggi altre domande sui tag