Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Apollo错误:GraphQL错误:变量';输入';已强制非Null类型为Null值';创建快速测试输入';_Node.js - Fatal编程技术网

Node.js Apollo错误:GraphQL错误:变量';输入';已强制非Null类型为Null值';创建快速测试输入';

Node.js Apollo错误:GraphQL错误:变量';输入';已强制非Null类型为Null值';创建快速测试输入';,node.js,Node.js,我正在编写一个NodeJS应用程序(我需要每隔5分钟从restful提要填充dynamoDB) 由于我遇到的困难,我创建了一个非常简单的API,名为quicktest schema { query: Query mutation: Mutation subscription: Subscription } type Mutation { createQuicktest(input: CreateQuicktestInput

我正在编写一个NodeJS应用程序(我需要每隔5分钟从restful提要填充dynamoDB)

由于我遇到的困难,我创建了一个非常简单的API,名为quicktest

    schema {
      query: Query
      mutation: Mutation
      subscription: Subscription
    }

    type Mutation {
      createQuicktest(input: CreateQuicktestInput!): quicktest
      deleteQuicktest(input: DeleteQuicktestInput!): quicktest
      updateQuicktest(input: UpdateQuicktestInput!): quicktest
    }

    type Query {
      getQuicktest(id: ID!, title: String!): quicktest
      listQuicktests(filter: TableQuicktestFilterInput, limit: Int, nextToken: String): quicktestConnection
    }

    type Subscription {
      onCreateQuicktest(email: String, id: ID, phoneno: String, title: String): quicktest @aws_subscribe(mutations : ["createQuicktest"])
      onDeleteQuicktest(email: String, id: ID, phoneno: String, title: String): quicktest @aws_subscribe(mutations : ["deleteQuicktest"])
      onUpdateQuicktest(email: String, id: ID, phoneno: String, title: String): quicktest @aws_subscribe(mutations : ["updateQuicktest"])
    }

    type quicktest {
      email: String
      id: ID!
      phoneno: String
      title: String
    }

    type quicktestConnection {
      items: [quicktest]
      nextToken: String
    }

    input CreateQuicktestInput {
      email: String
      id: ID!
      phoneno: String
      title: String!
    }

    input DeleteQuicktestInput {
      id: ID!
      title: String!
    }

    input TableBooleanFilterInput {
      eq: Boolean
      ne: Boolean
    }

    input TableFloatFilterInput {
      between: [Float]
      contains: Float
      eq: Float
      ge: Float
      gt: Float
      le: Float
      lt: Float
      ne: Float
      notContains: Float
    }

    input TableIDFilterInput {
      beginsWith: ID
      between: [ID]
      contains: ID
      eq: ID
      ge: ID
      gt: ID
      le: ID
      lt: ID
      ne: ID
      notContains: ID
    }

    input TableIntFilterInput {
      between: [Int]
      contains: Int
      eq: Int
      ge: Int
      gt: Int
      le: Int
      lt: Int
      ne: Int
      notContains: Int
    }

    input TableQuicktestFilterInput {
      email: TableStringFilterInput
      id: TableIDFilterInput
      phoneno: TableStringFilterInput
      title: TableStringFilterInput
    }

    input TableStringFilterInput {
      beginsWith: String
      between: [String]
      contains: String
      eq: String
      ge: String
      gt: String
      le: String
      lt: String
      ne: String
      notContains: String
    }

    input UpdateQuicktestInput {
      email: String
      id: ID!
      phoneno: String
      title: String!
    }

    in my node code i call

    function callAppsync(){
      console.log('Calling client.hydrate');
      client.hydrated().then(function (client) {


        const nqt = {

            "id": "4523adfg;kdjlsgwrtydsfglk",
            "title": "Hector",
            "email": "Hector@email.org.uk",
            "phoneno": "123456789"

        }

        const variables ={

        }
        client.mutate({mutation: mutations.createQuicktest, variables: {CreateQuicktestInput: nqt}   })


            .then(function log(data) {

              console.log('processing then');

              data = JSON.stringify(data);
              data = JSON.parse(data);
              if (data.data.listQuicktests) {
                console.log('(Query Data) All Posts ----------->', data.data.listPosts.items);
              } else {
                console.log("Error while fetching data");
              }
            })
            .catch(console.error);
      });
    };

    callAppsync();

    my mutations file is as follows


    /* eslint-disable */
    // this is an auto generated file. This will be overwritten
    var gql = require('graphql-tag');

    module.exports = {


    createQuicktest: gql(`mutation CreateQuicktest($input: CreateQuicktestInput!) {
              createQuicktest(input: $input) {
                id
                title
                email
                phoneno
              }
        }`),

        updateQuicktest: gql(`mutation UpdateQuicktest($input: UpdateQuicktestInput!) {
            updateQuicktest(input: $input) {
                id
                title
                email
                phoneno
            }
        }`),

        deleteQuicktest: gql(`mutation DeleteQuicktest($input: DeleteQuicktestInput!) {
            deleteQuicktest(input: $input) {
                id
                title
                email
                phoneno
             }
         }`)
    };
我可以运行简单的查询来检索所有记录,但是,每当我尝试参数化查询时,它就会失败,并出现上述错误


显然,我遗漏了一些东西,您的帮助将不胜感激。

我似乎遗漏了调用代码块。我认为您在客户端中的变量。mutate call是错误的。是否应该是“输入”而不是CreateQuickTestInput<代码>客户端.mutate({mutation:mutations.createQuicktest,variables:{input:nqt}}})我似乎错过了调用代码块。我认为客户端中的变量.mutate调用是错误的。是否应该是“输入”而不是CreateQuickTestInput<代码>客户端.mutate({mutation:mutations.createQuicktest,变量:{input:nqt}}})