GraphQL-Java 支持复杂过滤器
GraphQL-Java support for complex filters
有谁知道 Java GraphQL 实现 (graphql-java) 是否支持复杂过滤器。如果我理解正确 post:
参考实现包括过滤器参数,它是一个内置参数,支持具有嵌套条件的复杂过滤器。但是,这些示例不适用于 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);
您所说的是 Graph.cool 的扩展,而不是参考实现。您当然可以使用 graphql-java 构建类似的东西,但没有开箱即用的东西,因为该库的目标只是实现规范。
有谁知道 Java GraphQL 实现 (graphql-java) 是否支持复杂过滤器。如果我理解正确 post:
参考实现包括过滤器参数,它是一个内置参数,支持具有嵌套条件的复杂过滤器。但是,这些示例不适用于 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);
您所说的是 Graph.cool 的扩展,而不是参考实现。您当然可以使用 graphql-java 构建类似的东西,但没有开箱即用的东西,因为该库的目标只是实现规范。