如何创建带参数的 GraphQL 对象?

How to create GraphQL object with arguments?

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

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

如果是,怎么样?

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

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

您可以使用 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
    }
}