Dovrei usare CQRS in questo caso?

0

Sto costruendo API web. Ho un problema in cui l'input è diverso dall'output, ad esempio, l'input si aspetta solo l'id e l'output restituisce l'intero oggetto.

Inoltre, ci sono alcune cose specifiche per l'output che non dovrebbero mai essere inviate nell'input. Ad esempio, qualcosa che il server calcola e restituisce, ma il client non ha bisogno di passare questo valore.

Attualmente sto usando DTO, sono gli stessi sia per l'input che per l'output.

Esempio minimo:

public class ProductDto
{
    // Should be only included in the output, should be ignored on the input
    public decimal SomePropertyCalculatedOnTheServer { get; set; }

    // Should only be included in the output
    public TaxDto Tax { get; set; }

    // Only for input
    public int TaxId { get; set; }
}

Probabilmente posso semplicemente ignorare queste cose nella mia configurazione di mappatura, ma non sarebbe meglio creare un modello separato per input e output? Attualmente sembra brutto ed è difficile da mantenere.

Il mio livello di servizio accetta quelli Dtos, li mappa con le mie entità e opera su di essi, quindi li mappa e li restituisce. Tutto utilizza 1 modello.

Task<TEntityDto> CreateAsync(TEntityDto entityDto)

    
posta Konrad 12.06.2018 - 12:26
fonte

0 risposte

Leggi altre domande sui tag