3

文字列から渡されたタイプを解析できるGraphQLサーバーのセットアップに取り組んでおり、文字列を適切なオブジェクトに変換するソリューションを探しています。たとえば、次の文字列が渡された場合:

type User { id: String, name: String }

私の関数は、このコードを実行するのと同等のものを返します:

new graphql.GraphQLObjectType({
  name: 'User',
  fields: {
    id: { type: graphql.GraphQLString },
    name: { type: graphql.GraphQLString },
  }
});

ここで重要なのは不可知論であることです。そのため、たとえばインターフェイスやその他の省略表現を渡して、適切なオブジェクトを返すようにすることもできます。graphql/language関数を使用してモジュール buから抽象構文ツリーを達成するところまでgraphql_language.parse(str)到達しましたが、ここからどこへ行くべきかわかりません。

4

1 に答える 1

2

GitHub のリファレンス GraphQL-JS 実装にbuildASTSchemaは、解析済みの型スキーマを受け取り、一連の JavaScript オブジェクトを作成する関数 が既に含まれています。したがって、その方法を確認する最善の方法は、GitHub でそのソース コードを参照することです: https://github.com/graphql/graphql-js/blob/master/src/utilities/buildASTSchema.js

または、その関数を使用してツールを構築することもできます。そのリポジトリはコアの GraphQL チームによって維持されているため、仕様への新しい追加によって最新の状態になると確信できます。

コメントから編集: あなたがしようとしているのが、型言語文字列から実行可能な GraphQL スキーマ/サーバーを生成することである場合は、ここに記載されているように、パッケージのgenerateSchema関数を使用できます: http://docs.apollostack.com/ apollo-server/generate-schema.htmlgraphql-tools

于 2016-05-27T17:17:23.883 に答える