2012-10-03 26 views
11

Estoy viendo la nueva API que salió hace 2 semanas. Parece queServiceStack IReturn

ReqDTO : IReturn<List<ResDTO>> { //... } 

El bit "IReturn" parece ser opcional? Los DTO en el proyecto de demostración RazorRockstars funcionan sin él.

Respuesta

17

Esta es una nueva adición en ServiceStack's New API que le permite documentar el tipo de respuesta esperado que devolverá la solicitud DTO, p. Ej. con

ReqDTO : IReturn<List<ResDTO>> { ... } 

que le permite llamar usando cualquiera de los clientes de C# servicio con:

List<ResDTO> response = client.Get(new ReqDto()); 

Si no tiene la IRETURN marcador de su llamada cliente tendría que quedar así:

List<ResDTO> response = client.Get<List<ResDTO>>(new ReqDto()); 

que es algo que el cliente/consumidor de su servicio necesita saber. Si tenía el marcador en el DTO, el tipo de respuesta ya es conocido.

El marcador IReturn<> también se utiliza para determinar el DTO de respuesta que se utiliza en las respuestas HTTP en las páginas /metadata de ServiceStack.

+0

Utilizando ServiceStack 3.9.x y me pregunto si el 'IReturn' se aplica en absoluto? es decir, si mi punto final devuelve datos que no coinciden con el tipo especificado, ¿debería arrojar excepciones? – JaKXz

1

Hasta donde yo sé, esta es solo una forma conveniente de definir sus DTO de solicitud/respuesta. Usted es libre de usarlo, o no.

1

En el caso de que defina sus DTO en una biblioteca de clases portátil, no podrá usar IReturn. Quizás IReturn debería definirse en una PCL en ServiceStack. Solo un pensamiento.

Cuestiones relacionadas