graphql-java使用手册:part4 订阅(Subscriptions)

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了graphql-java使用手册:part4 订阅(Subscriptions)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

原文:http://blog.mygraphql.com/wordpress/?p=106

订阅(Subscriptions)

订阅查询(Subscription Queries)

Graphql 订阅(subscriptions)使你可以让你订阅响应式数据(reactive
source) 。当有新数据时,会发送给订阅者。

可以阅读 http://graphql.org/blog/subsc...
了解订阅的背景知识。

假设你有一个股票服务。可以用这个 graphql 语句来订阅它的数据:

subscription StockCodeSubscription {     stockQuotes(stockCode:"IBM') {         dateTime         stockCode         stockPRice         stockPriceChange     } } 

股票价格变化时,graphql 订阅 可以把 ExecutionResult
对象以流的方式传送给订阅者。和其它 graphql 查询一样,只会发送指定的字段

不同的是,一开始的查询结果是一个响应式流(reactive-streams)
Publisher(流发布者) 对象。通过对象可以获取未来的数据。

你需要使用 SubscriptionExecutionStrategy 策略作为执行策略(execution
strategy)。因为它支持 reactive-streams APIs.

GraphQL graphQL = GraphQL         .newGraphQL(schema)         .subscriptionExecutionStrategy(new SubscriptionExecutionStrategy())         .build();  ExecutionResult executionResult = graphQL.execute(query);  Publisher<ExecutionResult> stockPriceStream = executionResult.getData(); 

这里的 Publisher<ExecutionResult> 就是流事件的发布者【译注:原文
publisher of a stream of events】。你需要编写你自己的流处理代码,如:

GraphQL graphQL = GraphQL         .newGraphQL(schema)         .subscriptionExecutionStrategy(new SubscriptionExecutionStrategy())         .build();  String query = "" +         "    subscription StockCodeSubscription {n" +         "        stockQuotes(stockCode:"IBM') {n"" +

脚本宝典总结

以上是脚本宝典为你收集整理的graphql-java使用手册:part4 订阅(Subscriptions)全部内容,希望文章能够帮你解决graphql-java使用手册:part4 订阅(Subscriptions)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。