石墨烯龙卷风积分
graphene-tornado的Python项目详细描述
石墨烯龙卷风
在上面运行Graphene的项目 在python 2和3中的Tornado。这个 代码库是 graphene-django。
入门
创建Tornado应用程序并添加GraphQL处理程序:
importtornado.webfromtornado.ioloopimportIOLoopfromgraphene_tornado.schemaimportschemafromgraphene_tornado.tornado_graphql_handlerimportTornadoGraphQLHandlerclassExampleApplication(tornado.web.Application):def__init__(self):handlers=[(r'/graphql',TornadoGraphQLHandler,dict(graphiql=True,schema=schema)),(r'/graphql/batch',TornadoGraphQLHandler,dict(graphiql=True,schema=schema,batch=True)),(r'/graphql/graphiql',TornadoGraphQLHandler,dict(graphiql=True,schema=schema))]tornado.web.Application.__init__(self,handlers)if__name__=='__main__':app=ExampleApplication()app.listen(5000)IOLoop.instance().start()
写分解器时,用龙卷风的 @coroutinepython 2.7的decorator:
@gen.coroutinedefresolve_foo(self,info):foo=yielddb.get_foo()raiseReturn(foo)
或者在python 3中使用async/await模式:
asyncdefresolve_foo(self,info):foo=awaitdb.get_foo()returnfoo