Apprentissage des API REST en JavaScript
Les API REST (Representational State Transfer Application Programming Interfaces) sont largement utilisées pour créer des applications en réseau. Cet article vous aidera à comprendre comment utiliser les API REST en JavaScript, couvrant les implémentations c?té client et c?té serveur.
1. Qu'est-ce qu'une API REST??
Une API REST permet aux clients (tels que les navigateurs ou les applications mobiles) de communiquer avec les serveurs pour récupérer ou manipuler des données. Il suit une architecture sans état utilisant des méthodes HTTP standard.
Concepts de base
- Ressources?: représentées par des points de terminaison (par exemple, /users pour les données utilisateur).
-
Méthodes HTTP?:
- GET?: Récupérer des données.
- POST?: Créez une nouvelle ressource.
- PUT?: Mettre à jour une ressource existante.
- SUPPRIMER?: Supprimer une ressource.
- Format de données?: JSON est couramment utilisé pour échanger des données.
-
Codes d'état HTTP?:
- 200 OK : Succès.
- 201 Créé?: Ressource créée.
- 400 Bad Request?: erreur c?té client.
- 404 Not Found?: ressource introuvable.
- 500 Erreur de serveur interne?: problème de serveur.
2. Outils et configuration
-
Pour le c?té client?:
- Navigateur (JavaScript avec bibliothèque fetch ou axios).
- Utilisez des API comme https://jsonplaceholder.typicode.com pour vous entra?ner.
-
Pour le c?té serveur?:
- Installez Node.js et utilisez le framework Express.
3. Travailler avec les API REST c?té client
JavaScript fournit l'API fetch() et des bibliothèques tierces comme axios pour interagir avec les API REST.
Récupération de données à l'aide de fetch()
Voici comment récupérer des données à partir d'une API REST.
// Fetch data from an API const fetchUsers = async () => { try { const response = await fetch('https://jsonplaceholder.typicode.com/users'); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const users = await response.json(); // Parse JSON data console.log(users); } catch (error) { console.error('Error fetching users:', error); } }; fetchUsers();
Explication?:
- fetch(url)?: effectue une requête HTTP.
- réponse.json()?: convertit la réponse au format JSON.
- La gestion des erreurs est implémentée à l'aide de try...catch pour détecter les erreurs réseau ou les réponses non valides.
Envoi de données avec POST
Pour créer une nouvelle ressource, utilisez la méthode POST avec l'API fetch().
const createUser = async () => { try { const response = await fetch('https://jsonplaceholder.typicode.com/users', { method: 'POST', // HTTP method headers: { 'Content-Type': 'application/json', // Specify JSON format }, body: JSON.stringify({ // Convert JavaScript object to JSON name: 'Jane Doe', email: 'jane.doe@example.com', }), }); const newUser = await response.json(); // Parse JSON response console.log(newUser); } catch (error) { console.error('Error creating user:', error); } }; createUser();
Points clés?:
- L'option méthode spécifie la méthode HTTP.
- L'option en-têtes est utilisée pour indiquer le type de contenu.
- Le corps contient la charge utile JSON.
4. Création d'API REST c?té serveur
Sur le backend, Node.js avec le framework Express est couramment utilisé pour créer des API REST.
Configuration de votre environnement
- Installez Node.js?: téléchargez Node.js.
- Initialiser un nouveau projet?:
// Fetch data from an API const fetchUsers = async () => { try { const response = await fetch('https://jsonplaceholder.typicode.com/users'); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const users = await response.json(); // Parse JSON data console.log(users); } catch (error) { console.error('Error fetching users:', error); } }; fetchUsers();
Création d'une API REST simple
Voici un exemple de serveur API REST de base.
const createUser = async () => { try { const response = await fetch('https://jsonplaceholder.typicode.com/users', { method: 'POST', // HTTP method headers: { 'Content-Type': 'application/json', // Specify JSON format }, body: JSON.stringify({ // Convert JavaScript object to JSON name: 'Jane Doe', email: 'jane.doe@example.com', }), }); const newUser = await response.json(); // Parse JSON response console.log(newUser); } catch (error) { console.error('Error creating user:', error); } }; createUser();
Explication?:
- Middleware?: app.use(express.json()) analyse les requêtes JSON entrantes.
-
Itinéraires?:
- GET /users?: récupère tous les utilisateurs.
- GET /users/:id?: Récupère un utilisateur spécifique.
- POST /users?: ajoutez un nouvel utilisateur.
- PUT /users/:id?: mettre à jour les détails de l'utilisateur.
- DELETE /users/:id?: Supprimer un utilisateur.
5. Tester votre API REST
Vous pouvez tester votre API à l'aide d'outils tels que Postman ou d'utilitaires de ligne de commande comme curl.
Utiliser Postman
- Installez Postman à partir d'ici.
- Créer une nouvelle demande?:
- GET http://localhost:3000/users?: récupère tous les utilisateurs.
- POST http://localhost:3000/users?: Ajouter un utilisateur avec un corps JSON.
Utiliser curl
mkdir rest-api-demo cd rest-api-demo npm init -y npm install express
6. Meilleures pratiques pour le développement d'API REST
- Utilisez des noms de points de terminaison significatifs (par exemple, /users au lieu de /data).
- Validez les entrées de l'utilisateur pour éviter les données invalides ou nuisibles.
- Suivez les codes d'état HTTP cohérents.
- Documentez votre API à l'aide d'outils comme Swagger ou Postman.
mon dép?t de code de travail
Conclusion
Les API REST sont la pierre angulaire du développement Web moderne. En apprenant à interagir avec les API REST en JavaScript, tant c?té client que c?té serveur, vous acquerrez un ensemble de compétences puissantes pour créer et intégrer des applications. La pratique est la clé?: commencez par utiliser des API publiques, puis créez votre propre API à l'aide de Node.js et Express.
N'hésitez pas à poser des questions ou à demander des éclaircissements sur n'importe quelle partie de ce guide?!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le mécanisme de collecte des ordures de JavaScript gère automatiquement la mémoire via un algorithme de compensation de balises pour réduire le risque de fuite de mémoire. Le moteur traverse et marque l'objet actif de l'objet racine, et non marqué est traité comme des ordures et effacés. Par exemple, lorsque l'objet n'est plus référencé (comme la définition de la variable sur NULL), il sera publié lors de la prochaine série de recyclage. Les causes courantes des fuites de mémoire comprennent: ① des minuteries ou des auditeurs d'événements non diffusés; ② Références aux variables externes dans les fermetures; ③ Les variables globales continuent de contenir une grande quantité de données. Le moteur V8 optimise l'efficacité du recyclage à travers des stratégies telles que le recyclage générationnel, le marquage incrémentiel, le recyclage parallèle / simultané, et réduit le temps de blocage principal. Au cours du développement, les références globales inutiles doivent être évitées et les associations d'objets doivent être rapidement décorées pour améliorer les performances et la stabilité.

Il existe trois fa?ons courantes d'initier des demandes HTTP dans Node.js: utilisez des modules intégrés, Axios et Node-Fetch. 1. Utilisez le module HTTP / HTTPS intégré sans dépendances, ce qui convient aux scénarios de base, mais nécessite un traitement manuel de la couture des données et de la surveillance des erreurs, tels que l'utilisation de https.get () pour obtenir des données ou envoyer des demandes de post via .write (); 2.AXIOS est une bibliothèque tierce basée sur la promesse. Il a une syntaxe concise et des fonctions puissantes, prend en charge l'async / attendre, la conversion JSON automatique, l'intercepteur, etc. Il est recommandé de simplifier les opérations de demande asynchrones; 3.Node-Fetch fournit un style similaire à la récupération du navigateur, basé sur la promesse et la syntaxe simple

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la cha?ne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

Bonjour, développeurs JavaScript! Bienvenue dans JavaScript News de cette semaine! Cette semaine, nous nous concentrerons sur: le différend de marque d'Oracle avec Deno, les nouveaux objets Time JavaScript sont pris en charge par les navigateurs, les mises à jour Google Chrome et certains outils de développeurs puissants. Commen?ons! Le différend de marque d'Oracle avec la tentative de Deno Oracle d'enregistrer une marque "JavaScript" a provoqué la controverse. Ryan Dahl, le créateur de Node.js et Deno, a déposé une pétition pour annuler la marque, et il pense que JavaScript est un niveau ouvert et ne devrait pas être utilisé par Oracle

Quel framework JavaScript est le meilleur choix? La réponse est de choisir la plus appropriée selon vos besoins. 1.RIATT est flexible et gratuit, adapté aux projets moyens et grands qui nécessitent une personnalisation élevée et des capacités d'architecture d'équipe; 2. Angular fournit des solutions complètes, adaptées aux applications au niveau de l'entreprise et à la maintenance à long terme; 3. Vue est facile à utiliser, adaptée à des projets de petite et moyenne taille ou à un développement rapide. De plus, s'il existe une pile technologique existante, la taille de l'équipe, le cycle de vie du projet et si le RSS est nécessaire sont également des facteurs importants dans le choix d'un cadre. En bref, il n'y a pas absolument le meilleur cadre, le meilleur choix est celui qui convient à vos besoins.

Iife (immédiatementInvokedFunctionExpression) est une expression de fonction exécutée immédiatement après la définition, utilisée pour isoler les variables et éviter de contaminer la portée globale. Il est appelé en emballage la fonction entre parenthèses pour en faire une expression et une paire de supports immédiatement suivis, tels que (function () {/ code /}) ();. Ses utilisations de base incluent: 1. évitez les conflits variables et empêchez la duplication de la dénomination entre plusieurs scripts; 2. Créez une portée privée pour rendre les variables internes invisibles; 3. Code modulaire pour faciliter l'initialisation sans exposer trop de variables. Les méthodes d'écriture courantes incluent les versions passées avec des paramètres et des versions de la fonction flèche ES6, mais notez que les expressions et les liens doivent être utilisés.

La promesse est le mécanisme central pour gérer les opérations asynchrones en JavaScript. Comprendre les appels de cha?ne, la gestion des erreurs et les combinants est la clé pour ma?triser leurs applications. 1. L'appel de la cha?ne renvoie une nouvelle promesse à travers. Puis () pour réaliser la concaténation des processus asynchrones. Chaque .then () re?oit le résultat précédent et peut renvoyer une valeur ou une promesse; 2. La gestion des erreurs doit utiliser .catch () pour attraper des exceptions pour éviter les défaillances silencieuses, et peut renvoyer la valeur par défaut dans Catch pour continuer le processus; 3. Combinateurs tels que promesse.all () (réussi avec succès uniquement après tout succès), promesse.race () (le premier achèvement est retourné) et promesse.allsetTled () (en attente de toutes les achèvements)

Cacheapi est un outil fourni par le navigateur pour mettre en cache les demandes de réseau, qui est souvent utilisée en conjonction avec travailleur de service pour améliorer les performances du site Web et l'expérience hors ligne. 1. Il permet aux développeurs de stocker manuellement des ressources telles que des scripts, des feuilles de style, des photos, etc.; 2. Il peut faire correspondre les réponses du cache en fonction des demandes; 3. Il prend en charge la suppression des caches spécifiques ou la nettoyage du cache entier; 4. Il peut mettre en ?uvre des stratégies de priorité de cache ou de priorité de réseau grace à l'écoute des événements Fetch; 5. Il est souvent utilisé pour le support hors ligne, accélérez la vitesse d'accès répétée, préchargement des ressources clés et du contenu de mise à jour des antécédents; 6. Lorsque vous l'utilisez, vous devez faire attention au contr?le de la version du cache, aux restrictions de stockage et à la différence entre le mécanisme de mise en cache HTTP.
