我将我的应用程序与graphql连接起来,查询工作正常,并且能够从API获取数据,但是某种程度上,这些突变根本无法正常工作。我的想法是一个简单的登录功能,您可以在其中输入现有用户的登录名和密码。每次运行它时,onCompleted都会返回空值,而不是带有令牌的JSON。稍后,我检查了该突变是否将任何内容传递给数据库,但没有。有办法解决吗?
我的代码:
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()}'))
],
);
});
}
答案 0 :(得分:-1)
尝试使用,
onError: (err) {
print(err.graphqlErrors);
},
完成后。 这将向您显示错误(如果有)。