GraphQL和数据转换

时间:2017-11-17 01:54:37

标签: node.js graphql apollo

我的客户端功能有限,需要将非结构化数据发送到GraphQL。

我会有这样的查询:

mutation createDroid {
  payload: "R2-D2,Astromech,NEWHOPE\,EMPIRE\,JEDI"
}

并希望将其转换为这样的架构:

type Droid {
  name: String!
  function: String!
  appearsIn: [Episode]!
}

这是定义Mutator

的正确方法吗?
type Mutation {
  createDroid(string payload): Droid
}

我需要做的就是确保解析器返回一个带有name functionappearsIn属性的对象来调用模式验证?

有些东西让我觉得我需要构建一个新查询并再次调用 graphql(schema, query, resolvers)

1 个答案:

答案 0 :(得分:1)

是的,您只需要确保解析器返回正确的对象;)

另一方面,正确的查询和变异定义语法:

mutation CreationOfTheDroid {
  createDroid(payload: "R2-D2,Astromech,NEWHOPE\,EMPIRE\,JEDI") {
    // ...
  }
}

type Mutation {
  createDroid(payload: String!): Droid!
}