首页 > 解决方案 > 如何使用自定义输入类型编写 nuxtJs apollo 客户端突变

问题描述

我在名为 registerUserGql.graphql 的文件中有以下 graphql 突变

mutation addUser($user:AddUserInput) {
  addUser(
    user:$user){
    code
    success
    message
    user{
      firstName
      lastName
      email
    }
  }
}

我已经导入了这个 .graphql 文件,我在其中编写了客户端代码,如下所示:

import registerUserGql from '../gql/registerUser.gql';

在 apollo 客户端中,我正在编写如下所示的突变调用:

  cosnt user = 
        {
           firstName: "Fozle Rabbi",
           lastName: "Shafi",
           email: "frshafi49@gmail.com",
           password: "123456",
           emergencyContactNo: "12365589955"
        }

  const client = this.app.apolloProvider.defaultClient;
  const response = await client.mutate({
                     mutation: registerUserGql,
                     variables: user
                   });

运行代码时,它给了我以下错误:

Error: GraphQL error: user validation failed: emergencyContactNo: Path `emergencyContactNo` is required., password: Path `password` is required., email: Path `email` is required., lastName: Path `lastName` is required., firstName: Path `firstName` is required

用户模式中的自定义输入类型如下所示:

# input
input AddUserInput {
    firstName:String!
    lastName:String!
    email:String!
    password:String!
    emergencyContactNo:String!
    profileImage:String
}

如果有人帮助我解决问题,我将不胜感激。

标签: graphqlnuxt.jsapollo-client

解决方案


推荐阅读