ServiceStack - 是否有最新完整的文档?

10

我正在努力理解ServiceStack,虽然它声称拥有非常好的文档,但目前看来似乎并不是这样。是否有文档实际上说明要使用哪些接口/基类以及它们的作用?

我有很多问题,但找到的答案很少...一个新的API设计显示了DTO实现IReturn接口的示例,服务继承自Service - 但没有解释这是否是现在的首选方式,是否需要实现IReturn,如何处理POST/GET等等。

如果您有任何链接,将不胜感激。

是的,我有示例,但例如它们对于这个IReturn接口什么也没有..而且示例无论如何都无法取代文档。

1个回答

4

您可以在维基上找到ServiceStack Web Framework的所有文档

ServiceStack的新API刚刚本周发布,其中已经包含了您所有问题的答案。我建议回去全部阅读,但我将提取响应您问题的片段:

是否有文档实际说明要使用哪些接口/基础类以及它们的作用?

介绍新API部分中:

新API设计通过这个单一统一的接口简化了现有的IService和IRestService:

public interface IService {}

现在可以在一个类中处理RPC服务和Rest服务请求。接口仅用作标记接口,ServiceStack使用它来查找、注册和自动连接现有的服务。还包括一个方便的具体服务类,其中包含访问ServiceStack提供程序的简单方法。
新的API设计展示了一个DTO实现IReturn接口的示例,服务继承自Service——但没有解释这是否是现在的首选方式。
Wiki顶部的标题为“推荐未来Web服务开发”。
由于新的API设计比现有的API提供了许多优点,“我们建议在任何新的Web服务开发中使用它”。虽然需要一些时间,但我们打算将所有旧的示例都移植到新的API上。仍然喜欢旧API的原因之一是如果您还想支持SOAP客户端和端点,则仍需要先前方法强制执行的严格性。
在“灵感”标题下面读到:
这个提案的美妙之处在于它已经与 ServiceStack 现有的基于消息的语义完全契合,这意味着我们能够在记录时间内实现它,而不会对现有代码库造成任何破坏或变化。结果是,现在您可以开始创建新服务,并将其与现有服务一起无缝运行。

是否需要实现 IReturn 接口

从 C# 类型化客户端调用服务的标题下是:
假设你按照正常路线复制 DTO(以源或二进制形式),那么在客户端上你就会得到这样的东西:
[Route("/reqstars")]
public class AllReqstars : IReturn<List<Reqstar>> { }

现在客户端上的代码只是:

var client = new JsonServiceClient(BaseUri);
List<Reqstar> response = client.Get(new AllReqstars());

这段代码发起了一个 GET 网络请求到 /reqstars 路由。当客户端不存在自定义路由时,它会自动回退到使用 ServiceStack 预定义的路由。

最后,你也可以使用之前更明确的客户端 API(特别适用于没有 IReturn<> 标记的情况):

var response = client.Get<List<Reqstar>>("/reqstars");

所有这些API都有异步等效版本,当您需要时可以使用它们。
如何处理POST/GET等,
整个API文档实际上是在解释Post和Get的工作原理。您在客户端上有一个client.Get(),它调用服务器上的Get()或者如果不存在,则回退到使用Any()Wiki底部页面介绍了如何手动将旧API移植到新API。
以下是一些使用新API的示例:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接