是否可以将对象作为变量传递给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
}
}
`;
这不起作用,我没有看到任何方法将对象定义为参数类型。
答案 0 :(得分: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
}
}
;