在不启动服务器的情况下生成json架构?

时间:2017-07-31 21:24:48

标签: graphql apollo apollo-server

是否有独立的工具将模块化的graphql架构转换为json架构?

我有一个使用apollo-graphql和graphql-tools makeExecutableSchema的graphql服务器。它遵循描述here

的模式
// schema.js
import { makeExecutableSchema } form 'graphql-tools';
const Author = `type Author { ... }`;
const Post   = `type Post   { ... }`;
const Query  = `type Query  { ... }`;

export const typeDefs = [Author, Post, Query];

export const schema = makeExecutableSchema({
  typeDefs: typeDefs,
  resolvers: { ... },
});

如何创建schema.json表单typeDefsschema

我需要一个json架构才能使用relay-compilerapollo-codegenapollo-codegen包含此脚本以从graphql server创建模式...

apollo-codegen introspect-schema http://localhost:8080/graphql --output schema.json

...但我想创建架构,并在自动构建中运行apollo-codegen。我不想创建服务器。

  

我会将此作为答案提交,但问题已被标记为主题¯\ _(ツ)_ /¯

@ daniel-rearden的回答指出了我正确的方向。 makeExecutableSchema会返回GraphQLSchema,因此可以使用graphql的{​​{1}}和printSchema来获取架构的json或graphql语言表示。

introspectionQuery

1 个答案:

答案 0 :(得分:1)

graphql-to-json。我相信有一个CLI工具可以做到这一点。

或者,您可以编写自己的脚本,然后使用node执行它。您不必启动服务器来运行查询,只需要一个模式,您就可以直接对它运行查询。您可以查看示例here