解析器函数在graphql-yoga中返回枚举的含义是什么?

时间:2018-05-16 11:12:53

标签: graphql graphql-js

在graphql-yoga中返回枚举的解析器函数是什么样的? ♀️我在他们的文档中找不到任何例子。

query{
  search() : CreateUrlResponse!
}

type CreateUrlResponse {
    searchResult: String!
    error: CreateUrlError
}

enum CreateUrlError {
  Error1
  Error2
}

解析器:

export const query = {

    async search(parent, args, ctx: Context, info) {
      ???
    }
}

2 个答案:

答案 0 :(得分:2)

这应该有效:

export const query = {
    search(parent, args, ctx: Context, info) {
      return {
        searchResult: "abc",
        error: "Error1",
      }
    }
}

答案 1 :(得分:0)

GraphQL.js中的枚举实际上只是一个仅限于某些值的String。所以你可以这样做:

return {
  searchResult: 'Foo',
  error: 'Error1',
}

注意:在请求中使用它们时,它们的行为会略有不同:

someQuery(someString: "Foo")

someOtherQuery(someEnum: Foo)