AWS GraphQL:变量“输入”已将NonNull类型“输入!”的Null值强制转换为

时间:2018-08-24 07:43:46

标签: reactjs graphql aws-appsync aws-amplify

我正在使用ReactJS和aws-amplify来执行graphql操作。

代码:

import {
   API,
   graphqlOperation
} from 'aws-amplify';

import { UpdateInput } from './mutations.js';

// Call mutation
const input = { /* some values */ };
API.graphql(graphqlOperation(UpdateInput, input)).then(...);

GraphQL突变定义:

export const UpdateInput = `mutation UpdateInput($input: Input!) {
   updateInput(input: $input) {
      id, 
      name
   }   
}`

GraphQL模式:

input Input {
   id: ID!
   name: String
}

type Mutation {
   updateInput(input: Input!): String
}

但是,我得到一个错误:

  

[Log]变量'input'已将NonNull类型的Null值强制   “输入!”

使用AWS控制台,我的变异有效,并且input为NonNull(使用调试器)

有什么想法会导致错误吗?

1 个答案:

答案 0 :(得分:11)

密钥是input

因此aws-amplify graphqlOperation将搜索输入字段。

它适用于以下情况:

API.graphql(graphqlOperation(UpdateInput, {
   input: input // With added input field
})).then(...);