GraphQL-rajapinnat Spring Bootilla · Oppitunti

GraphQL-asiakaskirjastot

Tutustukaa suosittuihin asiakaskirjastoihin, joilla GraphQL-APIen kanssa voidaan toimia eri frontend-kehyksistä ja ohjelmointikielistä.

Oppitunti 2/411 vaihetta

GraphQL-asiakaskirjastot on ilmainen GraphQL-rajapinnat Spring Bootilla-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu GraphQL-rajapinnat Spring Bootilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. GraphQL-rajapinnat Spring Bootilla-kurssilla on yhteensä 4 oppituntia.

Johdatus GraphQL-asiakkaisiin

GraphQL-ohjelmointirajapinnan käyttäminen käyttöliittymäsovelluksesta on muutakin kuin yksinkertaisten HTTP-pyyntöjen lähettämistä. Tässä oppitunnissa tutustutaan tehokkaisiin asiakaskirjastoihin, jotka helpottavat tätä prosessia.

Nämä kirjastot tarjoavat jäsennellyt tavat kyselyiden ja mutaatioiden lähettämiseen, tietojen hallintaan ja reaaliaikaisten päivitysten käsittelyyn.

Miksi käyttää asiakaskirjastoa?

Vaikka tavallisia HTTP-pyyntöjä voi käyttää, erilliset asiakaskirjastot tarjoavat monia hyötyjä:

  • Tietojen noutaminen: GraphQL-operaatioiden lähettäminen on yksinkertaisempaa.
  • Välimuisti: Noudetut tiedot tallennetaan ja niitä hallitaan automaattisesti.
  • Tilan hallinta: Integroituu saumattomasti sovelluksen tilaan.
  • Virheenkäsittely: Yhtenäistää virheiden käsittelyn.
  • Työkalut: Tarjoaa kehittäjätyökaluja vianmääritykseen.

Yleiset asiakasominaisuudet

Useimmilla GraphQL-asiakaskirjastoilla on yhteinen perusominaisuuksien joukko:

  • Kyselyiden ja mutaatioiden suorittaminen: Operaatiot lähetetään GraphQL-palvelimelle.
  • Normalisoitu välimuisti: Tiedot tallennetaan jäsennellysti päällekkäisten noutojen estämiseksi.
  • Käyttöliittymäintegraatio: Hookit tai komponentit suosituille kehyksille, kuten Reactille, Vuelle ja Angularille.
  • Subscription-tuki: Reaaliaikaisten tietovirtojen käsittely.

Apollo Client: suosittu vaihtoehto

Apollo Client on yksi laajimmin käytetyistä GraphQL-asiakaskirjastoista, ja se on erityisen suosittu React-ekosysteemissä. Se on kattava JavaScript-sovellusten tilanhallintakirjasto.

Se tarjoaa tehokkaan muistinsisäisen välimuistin, monipuoliset kehittäjätyökalut ja joustavat tavat integroitua erilaisiin käyttöliittymäkehyksiin.

Apollo Client: kysely

Tässä on käsitteellinen esimerkki siitä, miten Apollo Clientia voisi käyttää tietojen noutamiseen käyttöliittymäsovelluksessa, esimerkiksi hookeja käyttävässä React-sovelluksessa:

GraphQL-kysely määritetään gql-tagilla, minkä jälkeen sen suorittamiseen ja tietojen hakemiseen käytetään esimerkiksi hookia useQuery.

import { gql, useQuery } from '@apollo/client';

const GET_BOOKS = gql`
  query GetBooks {
    books {
      id
      title
      author
    }
  }
`;

function BooksList() {
  const { loading, error, data } = useQuery(GET_BOOKS);

  if (loading) return <p>Loading...</p>;
  if (error) return <p>Error: {error.message}</p>;

  return (
    <ul>
      {data.books.map(book => (
        <li key={book.id}>{book.title} by {book.author}</li>
      ))}
    </ul>
  );
}

Apollo Client: mutaatio

Samoin muutoksia käsitellään useMutation-hookin avulla. Sen avulla voit lähettää palvelimellesi tietoja tietueiden luomista, päivittämistä tai poistamista varten.

Muutoksen jälkeen haluat usein päivittää paikallisen välimuistin vastaamaan muutoksia, ja Apollo Client voi auttaa siinä.

import { gql, useMutation } from '@apollo/client';

const ADD_BOOK = gql`
  mutation AddBook($title: String!, $author: String!) {
    addBook(title: $title, author: $author) {
      id
      title
      author
    }
  }
`;

function AddBookForm() {
  const [addBook] = useMutation(ADD_BOOK);

  const handleSubmit = async (event) => {
    // Prevent default form submission
    event.preventDefault();
    try {
      await addBook({ variables: { title: 'New Title', author: 'New Author' } });
      alert('Book added successfully!');
    } catch (error) {
      alert(`Error adding book: ${error.message}`);
    }
  };

  return (
    <form onSubmit={handleSubmit}>
      {/* Imagine form inputs here */}
      <button type="submit">Add Book</button>
    </form>
  );
}

Relay: erilainen lähestymistapa

Facebookin kehittämä Relay on toinen tehokas GraphQL-asiakas. Se on suunniteltu erittäin suorituskykyisiin ja skaalautuviin sovelluksiin, ja sitä käytetään usein Reactin kanssa.

Keskeisiä eroja ovat GraphQL:n käännönaikainen käsittely (Babel-pluginin avulla) sekä vahva painotus fragmentteihin tietojen sijoittelua ja optimointia varten.

Muita huomionarvoisia asiakkaita

Vaikka Apollo Client ja Relay ovat hallitsevassa asemassa, saatavilla on myös muita erinomaisia GraphQL-asiakkaita:

  • urql: Kevyt ja erittäin muokattava asiakas, joka painottaa laajennettavuutta.
  • graphql-request: Minimalistinen ja mielipiteetön GraphQL-asiakas yksinkertaisia pyyntöjä varten.
  • Native Fetch: Hyvin yksinkertaisissa tapauksissa voit käyttää suoraan selaimen fetch-rajapintaa, mutta tällöin jäät ilman välimuistia ja muita kehittyneitä ominaisuuksia.

Sopivan asiakkaan valitseminen

Kun valitset GraphQL-asiakasta, ota huomioon seuraavat seikat:

  • Frontend-kehys: Integroituuko se hyvin Reactin, Vuen tai Angularin kanssa?
  • Ominaisuudet: Tarvitsetko välimuistin, tilaukset tai optimistisen käyttöliittymän?
  • Pakettikoko: Onko kevyt asiakas projektillesi välttämätön?
  • Yhteisön tuki: Kuinka aktiivinen yhteisö ja dokumentaatio ovat?
  • Oppimiskäyrä: Kuinka nopeasti tiimisi voi ottaa sen käyttöön?

Asiakaskirjaston testi

Mikä seuraavista EI ole tavallinen hyöty käytettäessä erillistä GraphQL-asiakaskirjastoa suoraan tehtyjen HTTP-pyyntöjen sijaan?

Kertaus: asiakaskirjastot

Olemme tarkastelleet, kuinka GraphQL-asiakaskirjastot sujuvoittavat frontend-kehitystä.

Ne tarjoavat tehokkaita ominaisuuksia, kuten tietojen hakemisen, välimuistin ja tilanhallinnan. Apollo Client ja Relay ovat johtavia vaihtoehtoja, joilla kummallakin on omat vahvuutensa. Sopivan asiakkaan valinta riippuu projektisi erityistarpeista ja kehysvalinnoista.

Aloita maksutta

Opi GraphQL-rajapinnat Spring Bootilla tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”GraphQL-asiakaskirjastot” ilmainen?

Kyllä – oppitunnin ”GraphQL-asiakaskirjastot” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko GraphQL-rajapinnat Spring Bootilla-kurssin, päivitä CoddyKit PROhon. GraphQL-rajapinnat Spring Bootilla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”GraphQL-asiakaskirjastot”?

Tutustukaa suosittuihin asiakaskirjastoihin, joilla GraphQL-APIen kanssa voidaan toimia eri frontend-kehyksistä ja ohjelmointikielistä. Harjoittelet GraphQL-rajapinnat Spring Bootilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni GraphQL-rajapinnat Spring Bootilla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin GraphQL-rajapinnat Spring Bootilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”GraphQL-asiakaskirjastot”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä GraphQL-rajapinnat Spring Bootilla-oppitunnilla?

Kyllä. Jokainen GraphQL-rajapinnat Spring Bootilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. API-versiointistrategiat
  2. GraphQL-asiakaskirjastot
  3. GraphQL:n tulevaisuus Springin kanssa
  4. Skeeman dokumentointi ja tutkiminen
← Takaisin: GraphQL-rajapinnat Spring Bootilla