突变不起作用-Flutter和GraphQL

时间:2020-09-04 12:02:32

标签: flutter graphql mutation

我将我的应用程序与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()}'))
            ],
          );
        });
  }

1 个答案:

答案 0 :(得分:-1)

尝试使用,

onError: (err) {
          print(err.graphqlErrors);
         },

完成后。 这将向您显示错误(如果有)。