我是graphql的新手,特别是graphql-java,我已经成功地完成了带参数的查询,但当我试图发送一个突变查询时,模式甚至不会执行数据获取器,就像服务器甚至都没有评估过一样。这是我的一些代码片段。
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();
}所以我去postman写了这样的{create(node:{alias:"anything"})},这似乎是错误的,我看到人们大多数时候在图查询中使用变量,但我试图做简单的变异查询,然后从那里开始。我真的很感谢你的帮助。
发布于 2017-03-31 10:17:29
我只是忽略了规范的一个重要部分,实际上我必须在查询之前编写像mutation {create(node:{alias:"anything"})}这样的变体
https://stackoverflow.com/questions/43124540
复制相似问题