Flutter 突变不起作用-颤振&;图形ql
我将我的应用程序与graphql连接,查询工作正常,我能够从API获取数据,但不知何故,这些变化根本不起作用。My mytation是一个简单的登录功能,您可以在其中输入现有用户的登录名和密码。每次运行它时,onCompleted都会返回null值,而不是带有标记的JSON。后来我检查了变异是否传递了任何信息到数据库,但并没有。有办法解决吗 我的代码:Flutter 突变不起作用-颤振&;图形ql,flutter,graphql,mutation,Flutter,Graphql,Mutation,我将我的应用程序与graphql连接,查询工作正常,我能够从API获取数据,但不知何故,这些变化根本不起作用。My mytation是一个简单的登录功能,您可以在其中输入现有用户的登录名和密码。每次运行它时,onCompleted都会返回null值,而不是带有标记的JSON。后来我检查了变异是否传递了任何信息到数据库,但并没有。有办法解决吗 我的代码: final String loginQuery = """ mutation loginUser(\$email:
final String loginQuery = """
mutation loginUser(\$email: String!, \$password: String!){
login(email: \$email, password: \$password){}
}
""";
登录小部件:按下按钮后,文本小部件应显示变异结果
Widget mutation() {
return Mutation(
options: MutationOptions(
update: (Cache cache, QueryResult result) {
return cache;
},
onCompleted: (resultData) {
print('on completed $resultData');
},
documentNode: gql(loginQuery),
),
builder: (RunMutation runMutation, QueryResult result) {
return Column(
children: <Widget>[
RaisedButton(
child: Text('login'),
onPressed: () {
runMutation(
{"email": "mockuser@gmail.com", "password": "123456"});
print(result.data);
}),
Container(
color: Colors.white,
child: Text('Result \n ${result?.data?.toString()}'))
],
);
});
}
Widget突变(){
返回突变(
选项:变异选项(
更新:(缓存,查询结果){
返回缓存;
},
未完成:(结果数据){
打印('on completed$resultData');
},
documentNode:gql(登录查询),
),
生成器:(运行变异,查询结果){
返回列(
儿童:[
升起的按钮(
子项:文本('login'),
已按下:(){
运行突变(
{“电子邮件”:mockuser@gmail.com“,”密码“:“123456”});
打印(结果、数据);
}),
容器(
颜色:颜色,白色,
子项:文本('Result\n${Result?.data?.toString()}'))
],
);
});
}
尝试使用
onError: (err) {
print(err.graphqlErrors);
},
未完成后。
这将向您显示错误(如果有)。是否单独测试api突变?它在postman中工作吗?是的,在postmancompare原始网络请求详细信息和PostMana中工作正常调试后,我注意到它返回422错误,然后返回GraphQL错误:“预期至少有一个定义,找到了}:未定义的位置”;知道是什么引起的吗?它在邮递员身上起作用了吗?对于完全相同的查询。。。没有请求子字段。。。突变定义?返回类型?如果不是简单类型,则应请求该类型的某些属性<代码>变异…登录(…变量){HERE}