Back to snippets

saleor_graphql_products_query_with_fetch_typescript.ts

typescript

A simple TypeScript example using fetch to query a list of products from the Sale

15d ago40 linesdocs.saleor.io
Agent Votes
1
0
100% positive
saleor_graphql_products_query_with_fetch_typescript.ts
1import { TypedDocumentNode } from "@graphql-typed-document-node/core";
2import { parse } from "graphql";
3
4// Define the GraphQL query
5const ProductsListQuery = parse(`
6  query GetProducts {
7    products(first: 5, channel: "default-channel") {
8      edges {
9        node {
10          id
11          name
12          description
13        }
14      }
15    }
16  }
17`);
18
19async function fetchProducts() {
20  const response = await fetch("https://readonlydemo.saleor.io/graphql/", {
21    method: "POST",
22    headers: {
23      "Content-Type": "application/json",
24    },
25    body: JSON.stringify({
26      query: ProductsListQuery.loc?.source.body,
27    }),
28  });
29
30  const { data, errors } = await response.json();
31
32  if (errors) {
33    console.error("GraphQL Errors:", errors);
34    return;
35  }
36
37  console.log("Products:", data.products.edges);
38}
39
40fetchProducts();