我正在使用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(使用调试器)
有什么想法会导致错误吗?
答案 0 :(得分:11)
密钥是input
。
因此aws-amplify
graphqlOperation将搜索输入字段。
它适用于以下情况:
API.graphql(graphqlOperation(UpdateInput, {
input: input // With added input field
})).then(...);