知海

C# / .NET:Strawberry Shake(响应式 GraphQL 客户端)

graphql-github-io-zh-Hans生态项目与库

C# / .NET:Strawberry Shake(响应式 GraphQL 客户端)

Strawberry Shake 是一个开源的、面向 .NET 的响应式 GraphQL 客户端。它旨在消除状态管理的复杂性,让开发者能够通过 GraphQL 统一地操作本地和远程数据。

核心能力

  • 自动生成 C# 客户端:只需编写 GraphQL 查询,即可生成对应的强类型 C# 客户端代码,减少手写样板代码。
  • 本地与远程数据交互:通过 GraphQL 的单一数据模型,同时访问本地缓存和远程服务,保持数据一致性。
  • 响应式 API:基于可观察流(IObservable)提供状态订阅机制,使 UI 能够自动响应数据变化。

示例

以下示例展示了如何订阅一个 GetHero 查询,并使用 CacheFirst 策略优先读取缓存,然后从网络更新:

csharp 复制代码
client.GetHero
    .Watch(ExecutionStrategy.CacheFirst)
    .Subscribe(result => 
    {
        Console.WriteLine(result.Data.Name);
    });

相关资源

注:Strawberry Shake 是 Hot Chocolate GraphQL 平台的一部分,因此其源码托管在 Hot Chocolate 仓库中。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。