Как написать фильтрующий запрос с graphql?
В настоящее время мы используем библиотеку graphql/graphql-ruby. Я написал несколько запросов и мутаций в соответствии с нашим требованием.
У меня есть случай использования ниже, где я не уверен, как это реализовать,
У меня уже есть запрос / конечная точка с именем
allManagers
которые возвращают все детали менеджера.Сегодня у меня есть требование реализовать другой запрос, чтобы вернуть всех менеджеров на основе
region
фильтр.
У меня есть 2 варианта, чтобы справиться с этим сценарием.
Создайте необязательный аргумент для региона, и внутри запроса мне нужно проверить, передан ли регион, а затем отфильтровать по региону.
Используйте что-то вроде https://www.howtographql.com/graphql-ruby/7-filtering/.
Какой подход является правильным?
1 ответ
Похоже, вы можете сделать это с любым подходом. #2 выглядит немного сложнее, но, возможно, более расширяемо, если в итоге вы добавите тонну различных типов фильтров?
вас попросят выбрать несколько регионов? или негативные регионы (любой регион, кроме Северной Америки?) - это те вопросы, о которых вы хотите подумать при выборе подхода.
Звучит как хороший разговор с коллегой:)
Вероятно, я бы предпочел начать с простого подхода, а затем заменить его на более сложный, когда простое решение больше не решает всех моих задач.