脚本宝典收集整理的这篇文章主要介绍了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,请注明来意。