如何在 GraphQL HotChocolate 中实现订阅?

Posted

技术标签:

【中文标题】如何在 GraphQL HotChocolate 中实现订阅?【英文标题】:How do I implement subscriptions in GraphQL HotChocolate? 【发布时间】:2019-11-25 00:16:51 【问题描述】:

我正在实现 HotChocolate 作为我的 ASP.NET API 的一部分。我正在尝试在我的应用程序上添加对聊天部分的订阅,但是,HotChocolate 网站上的文档尚未实现。从我从其他站点/框架中可以看出,我可以使用 C# IObservable<Chat> 作为订阅方法的返回类型。

谁能给我一个查询方法的例子或指向另一个资源?

public async Task<IObservable<Message>> GetMessages(Guid chatId) 
  var messages = ..Get chats;

  return messages;

但是,从查询的角度来看,这是如何工作的?我们如何触发事件来更新它?

谢谢。

【问题讨论】:

【参考方案1】:

由于原始文档链接已过时,因此我发布了这个指向我们研讨会项目的新链接。

第 7 章展示了如何在两种变体中进行订阅。 https://github.com/ChilliCream/graphql-workshop/blob/master/docs/7-subscriptions.md

希望对你有帮助。

【讨论】:

谢谢迈克尔,文档很完美!也感谢您的快速响应! github.com/ChilliCream/graphql-workshop/blob/master/docs/…

以上是关于如何在 GraphQL HotChocolate 中实现订阅?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 HotChocolate 中的模式打印为 GraphQL SDL

基于 GUID 的 HotChocolate GraphQL 过滤

HotChocolate GraphQL 中的类型继承

HotChocolate GraphQL 配置未被调用

如何使用 GraphQL 突变进行更新(热巧克力)

如何在 .Net 5 中使用 Hot Chocolate 在 GraphQL 中修改响应 Cookie