2
こんにちは、私はgraphql-graphql-javaを初めて使っています。GraphQL-JavaのGraphQLスキーマ定義言語のサポート
graphql-javaでGraphQLスキーマ定義言語サポートを使用する方法はありますか?はいの場合はどうすれば可能ですか?
こんにちは、私はgraphql-graphql-javaを初めて使っています。GraphQL-JavaのGraphQLスキーマ定義言語のサポート
graphql-javaでGraphQLスキーマ定義言語サポートを使用する方法はありますか?はいの場合はどうすれば可能ですか?
はい、可能です。release 3.0.0
です。
schema {
query: QueryType
}
type QueryType {
hero(episode: Episode): Character
human(id : String) : Human
droid(id: ID!): Droid
}
あなたはこのような実行可能スキーマに次IDL-ファイル(starWarsSchema.graphqlsを)を変換することができます。また、あなたがbuildRuntime
機能を実装する必要が
SchemaParser schemaParser = new SchemaParser();
SchemaGenerator schemaGenerator = new SchemaGenerator();
File schemaFile = loadSchema("starWarsSchema.graphqls");
TypeDefinitionRegistry typeRegistry = schemaParser.parse(schemaFile);
RuntimeWiring wiring = buildRuntimeWiring();
GraphQLSchema graphQLSchema = schemaGenerator.makeExecutableSchema(typeRegistry, wiring);
固定スキーマをリゾルバで配線します。
RuntimeWiring buildRuntimeWiring() {
return RuntimeWiring.newRuntimeWiring()
.scalar(CustomScalar)
.type("QueryType", typeWiring -> typeWiring
.dataFetcher("hero", new StaticDataFetcher(StarWarsData.getArtoo()))
.dataFetcher("human", StarWarsData.getHumanDataFetcher())
.dataFetcher("droid", StarWarsData.getDroidDataFetcher())
)
.build();
}
あなたはgraphql-java documentationで見つけることができ、より詳細な例。
ご回答いただきありがとうございます。私もこれを試しましたが、Mavenリポジトリで提供された最新のjarファイルはこれをサポートしていません。私はこれが最新の瓶に欠けているコードの一部に起因すると思う。 ** SchemaGenerator **ファイルはサポートされていません。これを確認してください。 –
最新のリリース3.0.0で動作しています。このバージョンを持っていることを確認してください。おそらく前に明示的に 'mvn clean'を明示的に実行してください。 –
idlでコメントや説明を使用できるかどうかは知っていますか? – atott