Aangepaste queries & fragments

Afosto stelt ontwikkelaars in staat om op maat gemaakte GraphQL-query's en mutaties te maken, waardoor ze meer controle en flexibiliteit hebben bij het interageren met de Afosto API. Fragmenten kunnen ook worden gebruikt om een reeks velden te selecteren en opnieuw te gebruiken in verschillende query's en mutaties.

Aangepaste query's

Query's worden gebruikt om gegevens op te halen uit jouw Afosto API. Hieronder staat een voorbeeld van hoe je een aangepaste query kunt gebruiken:

1import { gql } from '@afosto/storefront';
2
3// Write your query
4const query = gql`
5  query getCart($id: String!) {
6    cart(id: $id) {
7      subtotal
8      total
9      items {
10        ids
11        image
12        label
13        sku
14      }
15    }
16  }
17`;
18
19// Define your variables
20const variables = {
21  id: 'my_cart_token',
22};
23
24// Execute the query
25const response = await client.query(query, variables);

Aangepast mutaties

Mutaties worden gebruikt om gegevens te wijzigen in jouw Afosto API. Hieronder staat een voorbeeld van hoe je een aangepaste mutatie kunt gebruiken:

1import StorefrontClient, { gql } from '@afosto/storefront';
2
3const client = StorefrontClient({
4  storefrontToken: 'STOREFRONT_TOKEN',
5});
6
7// Write your mutation
8const mutation = gql`
9  mutation AddPhoneNumberToCart($add_phone_number_to_cart: AddPhoneNumberToCartInput!) {
10    AddPhoneNumberToCartInput(input: $add_phone_number_to_cart) {
11      cart {
12        phone_number {
13          id
14          country_code
15          number
16          national
17          type
18          created_at
19        }
20      }
21    }
22  }
23`;
24
25// Define your variables
26const variables = {
27  AddPhoneNumberToCartInput: {
28    cartId: currentCartToken,
29  },
30};
31
32// Execute the mutation
33const response = await client.query(mutation, variables);

Aangepaste fragmenten

Fragmenten zijn herbruikbare eenheden die een reeks velden definiƫren die je wilt opnemen in jouw queries of mutaties. de @afosto/storefront package exporteert alle fragmenten die in de client worden gebruikt. Je kunt deze bekijken op GitHub ter inspiratie voor je eigen fragmenten.

1import { gql } from '@afosto/graphql-client';
2
3// Define your fragment
4const CustomCartFragment = gql`
5  fragment CustomCartFragment on Cart {
6    total
7    total_excluding_vat
8    ... other fields
9  }
10`;
11
12// Write your query with the fragment
13const query = gql`
14	${CustomCartFragment}
15  query getCart($id: String!) {
16    cart(id: $id) {
17      ...CustomCartFragment
18    }
19  }
20`;
21
22// Define your variables
23const variables = {
24  id: client.getCartTokenFromStorage(),
25};
26
27// Execute the query
28const response = await client.query(query, variables);

Verkennen van queries en mutaties

Je kunt je queries en mutaties verkennen en testen in de Afosto GraphQL playground op https://afosto.app/graphql. Hier kun je door het schema en de documentatie bladeren en je queries en mutaties testen.