是否可以将对象作为变量传递到 graphQL 突变中?
Is it possible to pass an object into a graphQL mutation as variables?
是否可以将对象作为变量传递到 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
}
}
`;
这不起作用,我看不出有任何方法可以将对象定义为参数类型。
您必须定义一个 GraphQL 输入类型。看看这个cheat sheet.
所以在你的情况下,你必须在服务器上定义一个输入并在突变中使用它,比如:
...
`
input DataInput {
value: Number!
data: String!
}
...
addData(data: DataInput!): SalesDate
`
在客户端,您可以像这样使用它:
const mutation = gql
mutation addData($data: DataInput!){
addData(data: $data){
data
}
}
;
是否可以将对象作为变量传递到 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
}
}
`;
这不起作用,我看不出有任何方法可以将对象定义为参数类型。
您必须定义一个 GraphQL 输入类型。看看这个cheat sheet.
所以在你的情况下,你必须在服务器上定义一个输入并在突变中使用它,比如:
...
`
input DataInput {
value: Number!
data: String!
}
...
addData(data: DataInput!): SalesDate
`
在客户端,您可以像这样使用它:
const mutation = gql
mutation addData($data: DataInput!){
addData(data: $data){
data
}
}
;