• Accueil
  • Info
  • Publicité
  • Privacy & Policy
  • Nous Contacter
No Result
View All Result
Technique de pointe
  • Actualité
  • Technologies
  • Jeu vidéo
  • Mobile
  • Astuces
  • HTML5 / CSS
  • Java Script
  • PHP
  • Article Sponsorisé
  • Astuces
  • Jeu vidéo
  • Nous Contacter
MYCAMER
  • Actualité
  • Mobile
  • Jeu vidéo
    Un adjoint témoigne qu’il a envoyé des photos de Kobe Crash au flic pendant qu’ils jouaient à “Call Of Duty”

    Un adjoint témoigne qu’il a envoyé des photos de Kobe Crash au flic pendant qu’ils jouaient à “Call Of Duty”

    Nouveau jeu du Seigneur des Anneaux venant de l’atelier Weta

    Nouveau jeu du Seigneur des Anneaux venant de l’atelier Weta

    Chefs d’orchestre avec contrôleurs : la classe musicale unique d’OSU |  Divertissement

    Chefs d’orchestre avec contrôleurs : la classe musicale unique d’OSU | Divertissement

    Bande-annonce pour le nouveau jeu vidéo “The Walking Dead”

    Bande-annonce pour le nouveau jeu vidéo “The Walking Dead”

    La mort des consoles de jeux vidéo mettra à l’écart Sony et Nintendo

    La mort des consoles de jeux vidéo mettra à l’écart Sony et Nintendo

    Sony craint que Microsoft, propriétaire de Call of Duty, ne crée un monopole

    Sony craint que Microsoft, propriétaire de Call of Duty, ne crée un monopole

    10 batailles de boss de jeux vidéo les plus bizarres

    10 batailles de boss de jeux vidéo les plus bizarres

    Un jeu vidéo centré sur les chats aide les compagnons errants de la Nebraska Humane Society |

    Un jeu vidéo centré sur les chats aide les compagnons errants de la Nebraska Humane Society |

    10 meilleurs méchants du jeu vidéo Star Wars de tous les temps

    10 meilleurs méchants du jeu vidéo Star Wars de tous les temps

  • Developpement web
    • All
    • Language HTML5
    Le cabinet KP satisfait de la loi et de l’ordre dans toute la province

    Le cabinet KP satisfait de la loi et de l’ordre dans toute la province

    L’établissement de normes sera la clé du succès futur du métaverse

    L’établissement de normes sera la clé du succès futur du métaverse

    Vous voulez devenir un ingénieur logiciel Full-Stack ?  Lisez ceci en premier.

    Vous voulez devenir un ingénieur logiciel Full-Stack ? Lisez ceci en premier.

    Conversion d’un objet JavaScript en chaîne

    Conversion d’un objet JavaScript en chaîne

    Emploi 29 août 2021

    EMPLOI (14-08-2022) – Jammu Cachemire Dernières Nouvelles | Tourisme

    Comment héberger un site Web gratuitement à partir de votre PC ou ordinateur portable

    Comment héberger un site Web gratuitement à partir de votre PC ou ordinateur portable

    Le football CSS se prépare pour la deuxième saison du MIAC

    Le football CSS se prépare pour la deuxième saison du MIAC

    Iron Tiger compromet l’application de chat Mimi et cible les utilisateurs Windows, Mac et Linux

    Iron Tiger compromet l’application de chat Mimi et cible les utilisateurs Windows, Mac et Linux

    Apple publie Safari Technology Preview 143 avec des corrections de bogues et des améliorations de performances

    Apple publie Safari Technology Preview 151 avec des corrections de bugs et des améliorations de performances

  • Astuces
    Un tutoriel “Pizza à la Spokane” a fait parler les gens en ligne » TwistedSifter

    Un tutoriel “Pizza à la Spokane” a fait parler les gens en ligne » TwistedSifter

    Microsoft dévoile le nouveau plugin IndexNow pour les sites WordPress

    Comment intégrer des vidéos dans votre site WordPress

    6 meilleurs plugins de révision WordPress pour 2022

    6 meilleurs plugins de révision WordPress pour 2022

    Session Replay amélioré pour les applications déployées en continu: capture de fichiers CSS

    This was H1 2022: Part 2 – Cyber War

    How to Add Schema Markup to Your WordPress Website?

    How to Add Schema Markup to Your WordPress Website?

    8 façons de mettre fin à la mentalité de silo et d’augmenter l’agilité de l’entreprise

    8 façons de mettre fin à la mentalité de silo et d’augmenter l’agilité de l’entreprise

    Pèlerinage artistique |  Avis du demandeur

    Pèlerinage artistique | Avis du demandeur

    Gutenberg 13.8 présente la prise en charge de la typographie fluide et le bloc de citation remanié – WP Tavern

    Gutenberg 13.8 présente la prise en charge de la typographie fluide et le bloc de citation remanié – WP Tavern

    Comment installer le serveur Web Apache sous Linux étape par étape

    Comment installer le serveur Web Apache sous Linux étape par étape

  • Nous contacter
No Result
View All Result
MYCAMER
No Result
View All Result
Home Astuces

Comment récupérer des données dans Svelte

Caleb by Caleb
mars 6, 2022
in Astuces
0 0
0
Comment récupérer des données dans Svelte
351
SHARES
2.1k
VIEWS
Share on FacebookShare on TwitterRedditLinkedin


Ce didacticiel explore la façon dont vous pouvez consommer et restituer des données à partir d’une API dans votre application Svelte. Vous pouvez interagir avec les API dans Svelte dans le onMount() hook de cycle de vie utilisant Axios, Apisauce, l’API Fetch native de JavaScript ou tout client HTTP de votre choix.

Nous allons créer un exemple d’application qui interagit et affiche les données fournies par un serveur d’API REST. Cette application permettra aux utilisateurs de récupérer des listes d’articles de blog à partir d’une API REST et de les afficher sur la page.

Conditions préalables

Pour suivre ce didacticiel, vous devez avoir des connaissances préalables en JavaScript et CSS, ainsi qu’une certaine familiarité avec Svelte.

Vous aurez également besoin Noeud et npm installé sur votre machine, ainsi que Gite.

Qu’est-ce qu’une API REST ?

L’acronyme API signifie “interface de programmation d’application”, et en termes simples, c’est un moyen pour deux applications de communiquer – ou de partager des données entre elles.

Une API REST est un type d’API qui implémente le protocole REST (Representational State Transfer). REST est un style architectural permettant de créer des services Web qui interagissent via un protocole HTTP. La structure de demande de REST comprend quatre parties essentielles, qui sont la méthode HTTP, un point de terminaison, des en-têtes et le corps de la demande.

Méthodes HTTP

La méthode HTTP dans une requête API indique au serveur le type d’action que le client attend de lui. Les méthodes HTTP les plus utilisées aujourd’hui incluent GET, POST, PATCH, DELETE et sont expliquées brièvement ci-dessous.

  • GET: utilisé pour récupérer ou lire des informations à partir d’un serveur
  • POST: utilisé pour créer ou stocker des enregistrements dans un serveur
  • PUT / PATCH: utilisé pour mettre à jour ou corriger des enregistrements dans un serveur
  • DELETE: permet de supprimer un ou plusieurs enregistrements d’un point ressource

Points de terminaison HTTP

Un point de terminaison HTTP en termes simples est une adresse ou une URL qui spécifie où une ou plusieurs ressources peuvent être accessibles par une API.

Les en-têtes HTTP sont des paires clé-valeur qui permettent au client de transmettre des informations au serveur dans une requête et vice-versa dans une réponse.

Corps de la requête

Le corps d’un appel d’API est la charge utile (ou les données) envoyées du client au serveur.

Configuration de notre application Svelte

Nous allons créer un exemple d’application qui interagit avec une API REST externe pour récupérer une liste d’articles de blog à partir d’un serveur. Nous afficherons ensuite cette liste sur le client Svelte.

Nous n’allons pas trop plonger dans le regroupement et l’infrastructure des applications Svelte dans ce didacticiel, nous suivrons donc les instructions sur le site officiel de Svelte pour faire fonctionner une application.

Dans votre répertoire préféré, exécutez :

npx degit sveltejs/template svelte-demo-app

Ensuite, entrez dans le dossier, installez les dépendances requises à l’aide de npm et démarrez un serveur de développement :

cd svelte-demo-app
npm install
npm run dev --open

Vous devriez maintenant voir un “Hello, World!” message affiché dans votre navigateur à http://localhost:5000/.

Utilisation de l’API Fetch pour consommer une API REST

Dans cet article, nous examinerons deux méthodes de récupération de données à partir d’une API. Tout d’abord, nous examinerons l’utilisation de l’API Fetch, qui est native de JavaScript. Ensuite, dans la section suivante, nous examinerons l’utilisation du client Axios, avant de comparer et de contraster brièvement les deux méthodes par la suite.

Qu’est-ce que l’API de récupération ?

L’API Fetch est un mécanisme basé sur des promesses qui vous permet d’effectuer des requêtes d’API asynchrones vers des points de terminaison en JavaScript. Si vous êtes familier avec le XMLHttpRequest() méthode, vous conviendrez probablement que l’API Fetch est une amélioration – dans le sens où elle fournit des fonctionnalités supplémentaires telles que la mise en cache des données, la possibilité de lire les réponses en continu et Suite.

L’utilisation de l’API Fetch est aussi simple que d’appeler le fetch() méthode avec le chemin d’accès à la ressource que vous récupérez comme paramètre obligatoire. Par exemple:

const response = fetch('your-api-url.com/endpoint');

Passer plus de paramètres dans une requête

le fetch() vous permet également d’être plus précis avec la demande que vous faites en transmettant un init objet comme deuxième paramètre facultatif.

le init object vous permet de transmettre des détails supplémentaires avec votre demande. Les plus courants d’entre eux sont énumérés ci-dessous :

  • method: une chaîne qui spécifie quelle méthode HTTP est envoyée au serveur et peut être GET, POST, PUT, PATCH ou DELETE.
  • cache: une chaîne qui spécifie si la requête doit être mise en cache. Les options autorisées sont default, no-cache, reload, force-cache, only-if-cached.
  • headers: un objet utilisé pour définir les en-têtes à transmettre avec l’exemple de requête.
  • body: un objet le plus couramment utilisé dans POST, PUT ou PATCH demandes. Il vous permet de transmettre une charge utile au serveur.

Construire le App composant

Une fois votre échafaudage Svelte terminé, ouvrez le src dossier et localisez le App.svelte composant. C’est ce qui est rendu lorsque vous visitez la page d’accueil du projet.

Comme vous pouvez le voir, le composant contient un <script> bloc pour notre JavaScript, un <style> bloc pour nos styles, ainsi qu’un <main> tag avec notre balisage. Il s’agit de l’anatomie de base d’un composant Svelte.

Commençons par importer le onMount crochet de Svelte, comme ceci :

import { onMount } from "svelte";

le onMount hook dans Svelte est une méthode de cycle de vie utilisée pour définir les instructions qui doivent être exécutées une fois que le composant où il est utilisé est rendu pour la première fois dans l’arborescence DOM.

Si vous venez d’un milieu React, vous devriez remarquer que onMount crochet dans Svelte fonctionne de la même manière que le componentDidMount() méthode dans les composants React basés sur les classes ou la useEffect() crochet dans les composants fonctionnels de React.

Ensuite, nous allons définir une variable pour contenir l’URL du point de terminaison que nous avons l’intention d’utiliser :

const endpoint = "https://jsonplaceholder.typicode.com/posts";

Noter: Espace réservé JSON est une API REST en ligne gratuite et pratique que vous pouvez utiliser chaque fois que vous avez besoin de fausses données.

Ensuite, créez un posts variable et affectez-lui un tableau vide :

let posts = [];

Ce vide posts array va être rempli avec les données que nous recevons de notre API une fois que nous aurons effectué l’appel.

Enfin, nous pouvons maintenant utiliser le onMount() méthode pour faire un GET requête au point de terminaison à l’aide de l’API Fetch de JavaScript, comme indiqué ci-dessous :

onMount(async function () {
  const response = await fetch(endpoint);
  const data = await response.json();
  console.log(data);
});

Une fois assemblés, vos App le composant doit contenir les éléments suivants :

<script>
  import { onMount } from "svelte";
  const endpoint = "https://jsonplaceholder.typicode.com/posts";
  let posts = [];

  onMount(async function () {
    const response = await fetch(endpoint);
    const data = await response.json();
    console.log(data);
  });

  export let name;
</script>

<main>
  <h1>Hello {name}!</h1>
  <p>Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> to learn how to build Svelte apps.</p>
</main>

<style>
  
</style>

Pour vérifier que cela fonctionne, enregistrez le fichier, puis visitez http://localhost:3000/ et vérifiez les outils de développement du navigateur. Vous devriez voir un tableau d’objets connectés à la console.

Remarque : si vous vous posez la question export let name; déclaration, c’est ainsi que nous définissons les accessoires dans Svelte. le export Le mot clé déclare ici que cette valeur est un accessoire qui sera fourni par le parent du composant.

Affichage des données du point de terminaison

Maintenant que nous avons réussi à extraire les données de notre point de terminaison, il est temps de rendre le contenu de notre page. Nous pouvons le faire en utilisant un chaque bloc:

{#each posts as article}
  <div>
    <p>{article.title}</p>
  </div>
{/each}

Modifier le balisage dans App.svelte à ce qui suit :

<main>
  <h1>Hello {name}!</h1>
  <p>Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> to learn how to build Svelte apps.</p>

  {#each posts as article}
    <div>
      <p>{article.title}</p>
    </div>
  {/each}
</main>

Ajoutez ensuite la ligne suivante au bloc de script :

posts = data;

Vous devriez maintenant voir une liste des titres de publication affichés sur la page.

Consommer l'API dans Svelte avec Fetch API

Utilisation du client Axios pour consommer une API REST

Axios est une bibliothèque JavaScript open source basée sur des promesses pour effectuer des appels d’API assez similaire à l’API Fetch. Axios fournit des méthodes spécifiques pour effectuer diverses requêtes API. Par exemple:

  • axios.get() est utilisé pour faire une requête GET http à un point de terminaison
  • axios.post() est utilisé pour faire une requête POST lors de la création d’enregistrements
  • soit de axios.patch() et axios.put() peut être utilisé lorsque vous devez faire une requête HTTP pour mettre à jour un enregistrement dans l’API
  • axios.delete() est utilisé pour envoyer une requête HTTP DELETE à un point de terminaison

Installation d’Axios et mise à jour du App composant

Pour utiliser Axios dans notre projet, nous devons d’abord l’installer. Dans la racine du projet, exécutez :

npm i axios@0.21.1

Remarque : J’installe ici une version légèrement plus ancienne, car une version récente de la bibliothèque a introduit un bogue, ce qui entraîne un TypeError: Cannot convert undefined or null to object erreur lors de l’utilisation d’Axios dans un composant Svelte. Voir ici et ici. Espérons que cela sera corrigé par une future version de la bibliothèque.

Puis, dans le App composant, incluez la bibliothèque :

import axios from "axios";

Modifiez également le code dans le onMount crochet comme ça :

onMount(async function () {
  const response = await axios.get(endpoint);
  console.log(response.data);
  posts = response.data;
});

Et vous devriez voir les mêmes résultats que précédemment dans votre navigateur.

La gestion des erreurs

Comme la requête Ajax est faite à l’intérieur d’une fonction asynchrone, nous aurions besoin d’utiliser un try … catch bloquer pour signaler tout problème :

onMount(async function () {
  try {
    const response = await axios.get(endpoint);
    console.log(response.data);
    posts = response.data;
  } catch (error) {
    console.error(error);
  }
});

Ce n’est pas propre à Axios. Vous appliqueriez la même méthode lorsque vous travaillez avec l’API Fetch.

Requêtes groupées dans Axios

Une fonctionnalité intéressante d’Axios est que vous pouvez effectuer des requêtes HTTP simultanées vers plusieurs points de terminaison à l’aide du axios.all() méthode. Cette méthode prend un groupe de requêtes sous forme de tableau et renvoie un seul objet de promesse qui ne se résout que lorsque les requêtes du tableau transmis ont été résolues individuellement.

La syntaxe pour ce faire est illustrée dans l’extrait ci-dessous :

axios.all([
  axios.get("https://jsonplaceholder.typicode.com/posts"),
  axios.get("https://jsonplaceholder.typicode.com/comments"),
])
.then((responseArr) => {
  
  console.log("First Post: ", responseArr[0].data[0].title);
  console.log("Second Comment: ", responseArr[1].data[1].body);
})
.catch((error) => {
  console.log(error);
});

Ici (par souci de variation) j’enchaîne les méthodes en utilisant then() et en utilisant catch() pour faire face aux erreurs.

consommer api en svelte avec AXIOS

Axios contre récupération

Lorsqu’on le compare avec fetch()Axios est livré avec quelques ajouts supplémentaires tels que :

  • Interception des requêtes et des réponses
  • un processus de gestion des erreurs mieux rationalisé
  • Protection XSRF
  • prise en charge de la progression du téléchargement
  • délai de réponse
  • la possibilité d’annuler des demandes
  • prise en charge des anciens navigateurs
  • transformation automatique des données JSON

En outre, Axios peut être utilisé à la fois dans le navigateur et avec Node.js. Cela facilite le partage de code JavaScript entre le navigateur et le back-end ou le rendu côté serveur de vos applications front-end.

Vous pouvez lire quelques autres différences ici.

Conclusion

Nous avons couvert beaucoup de choses dans cette procédure pas à pas. Nous avons commencé par examiner ce qu’est une API REST et pourquoi vous pourriez vouloir consommer un service externe dans votre application. Ensuite, nous avons mis en place un projet Svelte et utilisé l’API Fetch pour extraire une liste d’articles d’une API factice à l’aide de Svelte onMount méthode. Enfin, nous avons jeté un coup d’œil à la bibliothèque HTTP Axios, puis avons réécrit notre script pour consommer notre API fictive en utilisant Axios au lieu de l’API Fetch.

J’espère que vous avez apprécié la lecture de ce guide, et j’espère qu’il vous a présenté quelques techniques pour utiliser une API REST dans une application Svelte. Nous avons adopté une approche pragmatique pour explorer comment travailler avec les API REST en utilisant le onMount méthode de cycle de vie avec l’API Fetch et le client Axios.

Cet article servira de guide de référence chaque fois que vous aurez besoin de travailler avec une API REST dans une application Svelte.

— to www.sitepoint.com

Get real time update about this post categories directly on your device, subscribe now.

Unsubscribe
Caleb

Caleb

Stay Connected

  • 86.7k Followers
  • 172k Subscribers

Articles populaires

  • 10 problèmes courants de l’iPhone 13 et comment les résoudre

    10 problèmes courants de l’iPhone 13 et comment les résoudre

    4507 shares
    Share 1803 Tweet 1127
  • Comment installer phpMyAdmin sur Debian 11 Bullseye (Apache)

    1187 shares
    Share 475 Tweet 297
  • Le procès dit que le jeu d’arcade Key Master de Sega est intentionnellement truqué

    425 shares
    Share 170 Tweet 106
  • Comment réparer le décalage d’Instagram sur iPhone et Android

    520 shares
    Share 208 Tweet 130
  • How to Create an Impressive GitHub Profile README

    390 shares
    Share 156 Tweet 98

Follow Our Page

Follow Us

    Go to the Customizer > JNews : Social, Like & View > Instagram Feed Setting, to connect your Instagram account.
Facebook Twitter Youtube Vimeo Instagram

We bring you the best Premium WordPress Themes that perfect for news, magazine, personal blog, etc. Check our landing page for details.

Category

  • Actualité
  • Article Sponsorisé
  • Astuces
  • Featured
  • Jeu vidéo
  • Language HTML5
  • Mobile
  • portrait
  • Technologies
  • Uncategorized

Recent News

Cette horrible publicité oubliée reflète la “jossification” dévorante des jeux vidéo

Cette horrible publicité oubliée reflète la “jossification” dévorante des jeux vidéo

août 16, 2022
COD Warzone Down ce 16 août avec le code d’erreur 11328, Raven enquête

COD Warzone Down ce 16 août avec le code d’erreur 11328, Raven enquête

août 16, 2022

© 2022 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Actualité
  • Mobile
  • Jeu vidéo
  • Developpement web
  • Astuces
  • Nous contacter

© 2022 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Sign In with Facebook
Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
fr French
ar Arabiczh-CN Chinese (Simplified)en Englishfr Frenchde Germanit Italianru Russianes Spanish

Add New Playlist

This website uses cookies. By continuing to use this website you are giving consent to cookies being used. Visit our Privacy and Cookie Policy.