FastAPI
具有用于GraphQL可选择支持(由Starlette直接提供),使用该
graphene
库。
您可以 在同一应用程序上将 正常的FastAPI 路径操作 与GraphQL 结合 使用。
graphene
GraphQL是通过Graphene实现的,您可以查看 Graphene的文档 以获取更多详细信息。
导入
graphene
并定义您的GraphQL数据:
import graphene
from fastapi import FastAPI
from starlette.graphql import GraphQLApp
class Query(graphene.ObjectType):
hello = graphene.String(name=graphene.String(default_value="stranger"))
def resolve_hello(self, info, name):
return "Hello " + name
app = FastAPI()
app.add_route("/", GraphQLApp(schema=graphene.Schema(query=Query)))
GraphQLApp
然后导入并添加Starlette的
GraphQLApp
:
import graphene
from fastapi import FastAPI
from starlette.graphql import GraphQLApp
class Query(graphene.ObjectType):
hello = graphene.String(name=graphene.String(default_value="stranger"))
def resolve_hello(self, info, name):
return "Hello " + name
app = FastAPI()
app.add_route("/", GraphQLApp(schema=graphene.Schema(query=Query)))
信息
这里我们使用
.add_route
,即没有宣布具体的操作添加在Starlette路由(通过继承FastAPI)的方式(如将与
.get()
,
.post()
等)。
使用Uvicorn运行它,并在 http://127.0.0.1:8000 打开浏览器 。
您将看到GraphiQL Web用户界面:
有关更多详细信息,包括:
检查官方的 Starlette GraphQL文档 。
文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890
Python Free
邮箱:417803890@qq.com
QQ:417803890
皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved
微信扫一扫关注公众号:
Python Free