在 graphql-yoga 中返回枚举的解析器函数是啥样的?

Posted

技术标签:

【中文标题】在 graphql-yoga 中返回枚举的解析器函数是啥样的?【英文标题】:What does a resolver function look like that returns an enum in graphql-yoga?在 graphql-yoga 中返回枚举的解析器函数是什么样的? 【发布时间】:2018-10-26 10:03:35 【问题描述】:

在 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) 
      ???
    

【问题讨论】:

【参考方案1】:

这应该可行:

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

【讨论】:

【参考方案2】:

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

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

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

someQuery(someString: "Foo")

someOtherQuery(someEnum: Foo)

【讨论】:

以上是关于在 graphql-yoga 中返回枚举的解析器函数是啥样的?的主要内容,如果未能解决你的问题,请参考以下文章

Type as property 使用 graphql-yoga 和 prisma 解析为 null

Prisma GraphQL-Yoga:解析器需要异步吗?

使用 Mongoose 和 graphql-yoga 实现分页

javascript 查询e解析器简单com graphql-yoga

无法通过 Prisma 在 GraphQL-yoga 中使用片段

为啥 GraphQL 查询返回 null?