To powszechne i bardzo przydatny do zaoferowania dwa rodzaje zapytań dla każdego typu masz:
zapytanie do pobierania pojedynczego węzła z id
lub innych unikalnych pól, to w Twoim przypadku Product
(już Masz to).
zapytanie o pobranie wielu węzłów w zależności od różnych warunków filtrowania, nazwijmy to allProducts
.
Następnie masz dwie możliwości pobrania wielu produktów w jednym zapytaniu.
Po pierwsze, można użyć Product
kwerendy wiele razy i używać GraphQL Aliases uniknąć nazwę starcia w danych odpowiedzi:
query ProductInCartQuery($firstId: ID!, $secondId: ID!){
firstProduct: Product(id: $firstId) {
id
... ProductInfo
}
secondProduct: Product(id: $secondId) {
id
... ProductInfo
}
fragment ProductInfo on Product {
name
price
}
}
Można zbudować ten ciąg kwerendy dynamicznie w zależności od identyfikatorów chcesz zapytać. Jednakże, jest to prawdopodobnie najlepiej użyć zapytania allProducts
niezbędnej konfiguracji filtra jeśli liczba zróżnicowanych identyfikatorów jest dynamiczna:
query filteredProducts($ids: [ID!]!) {
allProducts(filter: {
id_in: $ids
}) {
... ProductInfo
}
}
fragment ProductInfo on Product {
name
price
}
Można go wypróbować siebie w this GraphQL Playground I przygotował dla Ciebie. Więcej informacji uzupełniających można znaleźć in this article.
Edytuj swój wpis, aby zawierał swój kod schematu. – maninak
Na pewno możesz ... –
Jak? Dodałem moje zapytanie do edycji. – Alwox