ServiceStack IReturn

二次信任 提交于 2019-12-18 03:32:04

问题


I am looking at the new api that came out 2 weeks ago. It seems like

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

The "IReturn" bit seems to be optional? The DTOs in RazorRockstars demo project works without it.


回答1:


This is a new addition in ServiceStack's New API which allows you to document the expected Response Type that the Request DTO will return, e.g. with

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

Which lets you call using any of the C# Service Clients with:

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

If you didn't have the IReturn marker your client call would have to look like:

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

Which is something the client/consumer of your service needs to know about. If you had the marker on the DTO the response type is already known.

The IReturn<> marker is also used to determine the Response DTO that's used in the HTTP Responses in ServiceStack's /metadata pages.




回答2:


As far as I know, this is just a convenient way of defining your request/response DTOs. You're free to use it, or not.




回答3:


In the case where you define your DTOs in a portable class library, you won't be able to use IReturn. Perhaps IReturn should be defined in a PCL in ServiceStack. Just a thought.



来源:https://stackoverflow.com/questions/12700702/servicestack-ireturn

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!