我正在查看 2 周前发布的新 api。这好像是
ReqDTO : IReturn<List<ResDTO>> { //... }
“IReturn”位似乎是可选的?RazorRockstars 演示项目中的 DTO 可以在没有它的情况下工作。
我正在查看 2 周前发布的新 api。这好像是
ReqDTO : IReturn<List<ResDTO>> { //... }
“IReturn”位似乎是可选的?RazorRockstars 演示项目中的 DTO 可以在没有它的情况下工作。
这是ServiceStack 的新 API中的新增功能,它允许您记录请求 DTO 将返回的预期响应类型,例如
ReqDTO : IReturn<List<ResDTO>> { ... }
这使您可以使用任何 C# 服务客户端调用:
List<ResDTO> response = client.Get(new ReqDto());
如果您没有 IReturn 标记,您的客户调用将必须如下所示:
List<ResDTO> response = client.Get<List<ResDTO>>(new ReqDto());
这是您服务的客户/消费者需要了解的内容。如果您在 DTO 上有标记,则响应类型是已知的。
该IReturn<>
标记还用于确定在 ServiceStack/metadata
页面中的 HTTP 响应中使用的响应 DTO。
据我所知,这只是定义请求/响应 DTO 的一种便捷方式。您可以自由使用或不使用它。
如果您在可移植类库中定义 DTO,您将无法使用 IReturn。也许 IReturn 应该在 ServiceStack 的 PCL 中定义。只是一个想法。