5

我是 Relay 的新手,正在尝试组合我的第一个应用程序。我已经有一个 GraphQL 服务器(使用 Graphene),它由 PostgreSQL 数据库通过 SQLAlchemy 自动映射支持,并作为 Flask 应用程序发布。现在,我正在尝试将前端放在一起,看起来中继编译器在客户端需要一个 GraphQL 模式文件。我想知道是否有办法让这个模式文件动态自动生成,以及如何设置。

我使用https://github.com/kriasoft/react-static-boilerplate作为我的应用程序的起点。

谢谢。

4

2 回答 2

9

在浏览了 Graphene 代码库后,我在 graphql-python 的 utils 模块中找到了 schema_printer,它为我完成了工作:

import json
from schema import schema
import sys
from graphql.utils import schema_printer

my_schema_str = schema_printer.print_schema(schema)
fp = open("schema.graphql", "w")
fp.write(my_schema_str)
fp.close()
于 2017-10-18T13:25:26.303 回答
0

对我来说,https://docs.graphene-python.org/projects/django/en/latest/introspection/很有帮助。在我的例子中,模式是在 apiApp 的 schema.py 文件中定义的,因此检索 schema.json 的命令如下。

./manage.py graphql_schema --schema apiApp.schema.schema --out schema.json
于 2021-05-04T14:48:21.647 回答