突变查询 graphql-java

Posted

技术标签:

【中文标题】突变查询 graphql-java【英文标题】:Mutations queries graphql-java 【发布时间】:2017-08-24 18:32:42 【问题描述】:

我是 graphql 的新手,特别是 graphql-java 我已经成功地完成了带有参数的查询,但是当我尝试发送一个变异查询时,架构甚至没有执行数据提取器,就像服务器甚至没有评估一样。这是我的代码的一些 sn-ps。

DataFetcher nodeCreateDataFetcher = new DataFetcher()
    public Object get(DataFetchingEnvironment environment) 

        Map source = (Map) environment.getSource();
        String alias = (String) source.get("alias");

        System.out.println(alias);
        //This statement adds a new node with a name on an alias class field
        Node node = getNodes.addNode(alias);
        return node;
    
;

// Creates an InputobjectType
public GraphQLInputObjectType createNodeInputType()
    return  newInputObject()
            .name("nodeInput")
            .field(newInputObjectField()
                    .name("alias")
                    .type(GraphQLString))
            .build();   


//Creates the Mutation schema
public GraphQLObjectType createMutation()
    return newObject()
            .name("Mutation")
            .field(newFieldDefinition()
                .name("create")
                .type(createNodeType())
                .argument(newArgument()
                        .name("node")
                        .type(createNodeInputType())
                        .defaultValue("alias: \"node4\""))
                .dataFetcher(nodeCreateDataFetcher))    
            .build();

所以我去找邮递员写类似create(node:alias:"anything") 的东西@ 这似乎是错误的我真的很感谢你的帮助。

【问题讨论】:

【参考方案1】:

我只是忽略了规范的一个重要部分,实际上我必须在查询之前编写突变,例如mutation create(node:alias:"anything")

【讨论】:

以上是关于突变查询 graphql-java的主要内容,如果未能解决你的问题,请参考以下文章

从一个查询/突变中获取结果并管道到另一个

运行突变后重新获取查询

graphql 查询或突变能否返回标量值

graphQl突变查询不适用于变量

在graphql中突变后查询

GraphQL 查询在突变后仅获取一次数据