2017-03-23 20 views
1

Java GraphQL実装(graphql-java)が複雑なフィルタをサポートしているかどうかは誰にも分かりません。私は正しくこのポストを理解している場合:GraphQL-Javaでの複雑なフィルタのサポート

https://www.graph.cool/docs/tutorials/designing-powerful-apis-with-graphql-query-parameters-aing7uech3/

リファレンス実装では、フィルタ引数は、ネストされた条件で複雑なフィルタをサポートして引数に内蔵されています。ただし、これらの例はgraphql-javaの例では機能しません。

これは私がgraphql-Javaを使用して一緒に遊んでいます簡単な例である:2.3.0:

GraphQLType employeeType = newObject() 
      .name("Employee") 
      .field(newFieldDefinition() 
        .name("name") 
        .type(Scalars.GraphQLString) 
        ) 
      .field(newFieldDefinition() 
        .name("age") 
        .type(Scalars.GraphQLInt) 
        ) 
      .field(newFieldDefinition() 
        .name("active") 
        .type(Scalars.GraphQLBoolean) 
        ) 
      .build(); 

    GraphQLObjectType companyType = newObject() 
      .name("Company") 
      .field(newFieldDefinition() 
        .name("name") 
        .type(Scalars.GraphQLString) 
        ) 
      .field(newFieldDefinition() 
        .name("employees") 
        .type(new GraphQLList(employeeType)) 
        .argument(newArgument() 
          .name("name") 
          .type(Scalars.GraphQLString) 
          .build() 
        ) 
        .argument(newArgument() 
          .name("age") 
          .type(Scalars.GraphQLInt) 
          .build() 
        ) 
        .argument(newArgument() 
          .name("active") 
          .type(Scalars.GraphQLBoolean) 
          .build() 
        ) 
        .dataFetcher(new EmployeeFetcher()) 
        ) 
      .build(); 

    GraphQLObjectType companyListType = newObject() 
      .name("Companies") 
      .field(newFieldDefinition() 
        .name("companies") 
        .type(new GraphQLList(companyType)) 
        .argument(newArgument() 
           .name("name") 
           .type(Scalars.GraphQLString) 
           .build() 
          ) 
        .dataFetcher(new CompanyFetcher()) 
        ) 
      .build(); 


    GraphQLSchema schema = GraphQLSchema.newSchema() 
      .query(companyListType) 
      .build(); 

    GraphQL graphQL = new GraphQL(schema); 
+0

こんにちは@Shahin Askari、あなたはこの質問の解決に役立つ何かを見つけましたか?どんな提案/リンクも大歓迎です。 – cingulata

+0

いいえ、私たちはしていません。私の初期の研究に基づいてそれは存在しない、私はここで確認したいとカカカオは同意するようだ。これと他の制限があるので、私たちはプロジェクトの後半で別のレビューのためにGraphQLに戻ることを選択しています。 –

答えて

1

あなたが何を言ってるのかGraph.coolの延長ではなく、リファレンス実装です。もちろん、graphql-javaのようなものを構築することもできますが、libの目的は仕様を実装するだけなので、箱のようなものは何もありません。

関連する問題