我有一个Flask GraphQL端点,如下所示:
app.add_url_rule('/graphql', view_func=GraphQLView.as_view(
'graphql',
schema=schema,
graphiql=True,
))
我目前有三种不同的模式。据我所知,GraphQL和REST之间的一个区别是,在GraphQL中,你只需要定义一个基本端点。然后,后端处理的发生取决于哪个模式应用于从前端接收到的数据。但我不确定这个端点最终将如何基于请求主体选择正确的模式。欢迎提供任何指导或链接到好的示例。我使用Graphene作为GraphQL的库。
PS:这是我第一次使用GraphQL,所以,如果我上面的理解是不正确的,对不起。
1条答案
按热度按时间zpqajqem1#
"嘿"
GraphQL的工作方式是客户端向端点发送一个查询/变更,然后使用模式来确定请求/变更哪些数据。有几种不同的方法可以实现这一点。
1.你可以使用schema指令来表示一个给定的查询或转换应该使用哪个schema,这将允许你在你的GraphQL查询或转换中指定一个"schema"参数,GraphQL服务器将使用这个参数来决定使用哪个schema。
1.你也可以使用一个自定义的GraphQLresolver来决定应该使用哪个模式,这可以通过查看查询或变异本身来完成,也可以通过查看请求主体中的数据来完成。
1.最后,您还可以使用一个定制的GraphQL中间件。这将允许您检查请求并执行一些定制逻辑来确定应该使用哪个模式。
这应允许您的应用将请求正确路由到适当的架构。
祝你好运,希望这有帮助!