GraphQL 中的静态值

Mar*_*van 7 graphql

有没有办法在 graphql 查询中生成静态值?

例如,假设我有一个user带有名称和电子邮件字段的对象。出于某种原因,我总是希望用户的状态为“已接受”。我怎样才能编写一个查询来完成这个任务?

我想做的事:

query {
  user(id: 1) {
    email
    name
    status: "ACCEPTED"
  }
}
Run Code Online (Sandbox Code Playgroud)

我想要的结果:

{
  "data": {
    "user": {
      "email": "me@myapp.com",
      "name": "me",
      "status": "ACCEPTED"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Tyl*_*ier 2

您可以让您的解析函数返回一个静态值,例如在 JavaScript 中:

const HomeWorldType = new GraphQLObjectType({
  name: 'HomeWorld',
  fields: () => {
    return {
      id: {
        type: GraphQLInt,
        resolve: () => 7,
      },
      name: { type: GraphQLString },
      climate: { type: GraphQLString },
      population: { type: GraphQLString },
    }
  }
})
Run Code Online (Sandbox Code Playgroud)