【发布时间】:2020-06-24 10:17:06
【问题描述】:
我正在使用 Apollo 框架设置 GraphQL 服务器。
它将有一个名为Shelf 的实体。一个Shelf 有一个shelfId 和packages。
我需要能够使用shelfId 或packageCode 查询Shelves。
我的数据源可以处理这两种情况,但我希望为此使用 1 个名为 shelf 的解析器。
例子
query getShelf(shelfId: "1") {
shelfId
}
或:
query getShelf(packageCode: "123") {
shelfId
}
如果设置了packageCode 或shelfId,我如何定义检查类型?
- 如果提供
packageCode,则不需要shelfId - 当提供
shelfId时,不需要packageCode - 当我们都没有提供它们中的任何一个时
我认为我唯一的选择是:
- A) 为每个场景创建单独的解析器
- B) 将它们设为可选并从解析器返回错误。
我将如何进行?
【问题讨论】: