我正在使用graphql-js创建一个新的graphQL架构,但不会通过http提供服务,它将用作本地graphql服务。我需要以json格式获取此graphql的模式,以将其与另一个模式合并。我一直在使用get-graphql-schema从服务器获取模式,但在我的情况下这不会起作用。
我想要的是从make GraphQLSchema
之后获得的new GraphQLSchema({ query, mutation });
对象中获取带有模式的json
我确信这很简单,但我有点卡住了。谢谢!
答案 0 :(得分:1)
由于您需要本地创建的GraphQLSchema
对象的.graphql文件,您只需使用printSchema
进行打印然后将其写入文件
import { printSchema } from 'graphql';
import Query from './Query';
import fs from 'fs';
const schema = new GraphQLSchema({
query: Query
});
const fileData = printSchema(schema);
fs.writeFile('/path/to/schema.graphql', fileData, error => {
// handle error
});
get-graphql-schema
包只能与graphql-server
端点一起使用。该包首先发送内省查询以获取JSON表示,然后使用graphql-js
重构客户端(非可执行)模式
buildClientSchema
然后使用printSchema
最终输出可以放在.graphql文件中的模式语言表示。由于您已在本地拥有GraphQLSchema
对象,因此您可以跳过前两个步骤并打印架构。
答案 1 :(得分:0)
您可以在localhost graphql server上使用get-graphql-schema。