【问题标题】:Is it possible to pass an object into a graphQL mutation as variables?是否可以将对象作为变量传递给 graphQL 突变?
【发布时间】:2017-08-22 13:32:30
【问题描述】:

是否可以将对象作为变量传递给 graphQL 突变?

let salesDate = {
    company_id: "abcd",
    source: "tally",
    data: {
        value: "02",
        date: "2016-17-01"
    }
};

const mutation = gql`
  mutation addData($data: Object){
    addData(data: $data){
     data
    }
  }
`;

这不起作用,我看不到任何将对象定义为参数类型的方法。

【问题讨论】:

    标签: reactjs graphql apollo


    【解决方案1】:

    您必须定义一个 GraphQL 输入类型。看看这个cheat sheet

    因此,在您的情况下,您必须在服务器上定义一个输入并在突变中使用它,例如:

    ...
    
    `
    input DataInput {
      value: Number!
      data: String!
    }
    
    ...
    
    addData(data: DataInput!): SalesDate
    
    `

    在客户端你可以像这样使用它:

    const mutation = gql
      mutation addData($data: DataInput!){
        addData(data: $data){
         data
        }
      }
    ;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 2020-09-22
      • 2020-09-23
      • 2011-11-03
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多