ServiceStack Ireturn.
-
12-12-2019 - |
Domanda
Sto guardando la nuova API che è uscita 2 settimane fa.Sembra
ReqDTO : IReturn<List<ResDTO>> { //... }
.
Il bit "IreTurn" sembra essere facoltativo?Il DTO nel progetto DEMO di Razorrockstars funziona senza di esso.
Soluzione
Questa è una nuova aggiunta in La nuova API del ServiceStack che ti consente di documentareil tipo di risposta previsto che la richiesta DTO tornerà, ad esempiocon
ReqDTO : IReturn<List<ResDTO>> { ... }
.
Che consente di chiamare utilizzando uno dei clienti C # Service con:
List<ResDTO> response = client.Get(new ReqDto());
.
Se non hai avuto il segnalino iReturn, la chiamata del cliente dovrebbe sembrare:
List<ResDTO> response = client.Get<List<ResDTO>>(new ReqDto());
.
Qual è qualcosa del cliente / consumatore del tuo servizio deve sapere.Se avessi il marker sul DTO, il tipo di risposta è già noto.
Il marker IReturn<>
viene anche utilizzato per determinare la risposta DTO utilizzata nelle risposte HTTP nelle pagine generacodicitagCodeGode di ServiceStack.
Altri suggerimenti
Per quanto ne so, questo è solo un modo conveniente per definire la tua richiesta / risposta DTO. Sei libero di usarlo o no.
Nel caso in cui definisci i DTO in una libreria di classe portatile, non sarai in grado di utilizzare IReturn.Forse Ireturn dovrebbe essere definito in un PCL in ServiceStack.Solo un pensiero.