如何使用参数创建GraphQL对象?

时间:2017-01-09 08:54:37

标签: java graphql graphql-java

是否有可能带参数的对象?换句话说,我可以创建一个对象来运行这样的查询吗?

{
    artifact(group: "com.graphql-java", name: "graphql-java") {
        group
        name
        version
    }
}

如果是,怎么样?

我找不到在graphql.schema.GraphQLObjectType.newObject中创建参数的方法。

2 个答案:

答案 0 :(得分:1)

调用field() on the Builder添加参数。

答案 1 :(得分:0)

您可以使用graphql-java-annotations并以非常直接的方式对其进行定义:

@GraphQLName("Query")
class Query {

    @GraphQLField
    static List<Item> items(DataFetchingEnvironment environment) {
        // Fetch all
    }

    @GraphQLField
    static Item item(DataFetchingEnvironment environment, @GraphQLName("id") String id) {
        // Fetch using the "id" argument
    }
}