Я настраиваю сервер GraphQL с использованием фреймворка Apollo.
У него будет сущность с именем Shelf
. Shelf
имеет shelfId
и packages
.
. Мне нужно иметь возможность запросить Shelves
с shelfId
или packageCode
.
Мой источник данных может обрабатывать оба этих сценария, но я хочу иметь для этого 1 распознаватель с именем shelf
.
Пример
query getShelf(shelfId: "1") {
shelfId
}
или:
query getShelf(packageCode: "123") {
shelfId
}
Как определить тип проверки, если установлен packageCode
или shelfId
?
- Когда указано
packageCode
shelfId
не требуется - Когда предоставляется
shelfId
packageCode
не требуется - Когда ни один из них не предоставлен, ни один из них не требуется
Единственные варианты, которые я думаю, у меня есть:
- A) Создайте отдельные распознаватели для каждого сценария
- B) Сделайте их оба необязательными и верните ошибку из распознавателя.
Как мне поступить?