11

我正在查看 2 周前发布的新 api。这好像是

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

“IReturn”位似乎是可选的?RazorRockstars 演示项目中的 DTO 可以在没有它的情况下工作。

4

3 回答 3

19

这是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。

于 2012-10-03T01:29:47.220 回答
1

据我所知,这只是定义请求/响应 DTO 的一种便捷方式。您可以自由使用或不使用它。

于 2012-10-03T01:21:41.283 回答
1

如果您在可移植类库中定义 DTO,您将无法使用 IReturn。也许 IReturn 应该在 ServiceStack 的 PCL 中定义。只是一个想法。

于 2013-04-29T05:24:07.170 回答