【问题标题】:AWS GraphQL: Variable 'input' has coerced Null value for NonNull type 'Input!'AWS GraphQL:变量“输入”已强制非空类型“输入!”的空值
【发布时间】:2019-01-30 15:43:05
【问题描述】:

我正在使用 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(使用调试器)

任何想法是什么导致了错误?

【问题讨论】:

    标签: reactjs graphql aws-appsync aws-amplify


    【解决方案1】:

    密钥是input 中的updateInput 突变。

    updateInput(input: Input!): String
             // ^^^^^ input key
    

    因此,需要在传递的变量中指定正确的键。

    const variables = {
      input: someData, // key is "input" based on the mutation above
    };
    
    API.graphql(graphqlOperation(UpdateInput, variables)).then(...);
    

    【讨论】:

      猜你喜欢
      • 2019-10-24
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 2018-09-11
      • 2018-10-10
      • 1970-01-01
      • 2021-06-13
      • 2019-05-23
      相关资源
      最近更新 更多