Comment effectuer une requête GET en Node.js : Guide pour débutants

Apprenez les requêtes GET en Node.js avec http et axios. Gérez les données de réponse en divers formats et cas.

Louis Dupont

Louis Dupont

5 June 2025

Comment effectuer une requête GET en Node.js : Guide pour débutants

Voulez-vous apprendre à faire des requêtes GET dans Node.js ? Si oui, vous êtes au bon endroit. Dans cet article de blog, je vais vous montrer comment utiliser le module intégré http et la bibliothèque populaire axios pour faire des requêtes GET dans Node.js. Je vais également expliquer ce que sont les requêtes GET, pourquoi elles sont importantes et comment gérer les données de réponse. À la fin de cet article, vous serez capable de faire des requêtes GET dans Node.js comme un pro.

Qu'est-ce qu'une requête GET ?

Une requête GET est l'un des types de requêtes HTTP les plus courants. HTTP signifie Hypertext Transfer Protocol, qui est le protocole standard pour la communication entre les navigateurs Web et les serveurs Web. Les requêtes HTTP sont des messages que les navigateurs Web envoient aux serveurs Web pour demander ou soumettre des données. Les réponses HTTP sont des messages que les serveurs Web renvoient aux navigateurs Web pour fournir les données demandées ou confirmer la soumission.

Une requête GET est un type de requête HTTP qui demande au serveur Web de renvoyer une ressource spécifique. Par exemple, lorsque vous tapez une URL dans votre navigateur Web, vous faites une requête GET au serveur Web pour qu'il vous envoie la page Web associée à cette URL. Une requête GET peut également inclure des paramètres de requête, qui sont des paires clé-valeur qui fournissent des informations supplémentaires ou filtrent la ressource demandée. Par exemple, lorsque vous recherchez quelque chose sur Google, vous faites une requête GET au serveur Web de Google avec des paramètres de requête qui spécifient votre terme de recherche, votre langue et d'autres options.

Pourquoi les requêtes GET sont-elles importantes ?

Les requêtes GET sont importantes car elles constituent le principal moyen de récupérer des données auprès des serveurs Web. Vous pouvez utiliser les requêtes GET pour accéder à différents types de données, tels que HTML, JSON, XML, images, vidéos, etc. Vous pouvez également utiliser les requêtes GET pour interagir avec les API Web, qui sont des interfaces qui vous permettent d'accéder aux données et aux services d'autres applications Web. Par exemple, vous pouvez utiliser les requêtes GET pour obtenir des informations météorologiques à partir de l'API OpenWeatherMap, obtenir des informations sur les films à partir de l'API IMDb ou obtenir des images de chiens à partir de l'API Dog.

Les requêtes GET sont également importantes car elles sont faciles à utiliser et à tester. Vous pouvez faire des requêtes GET en utilisant n'importe quel navigateur Web, sans outils ni bibliothèques spéciaux. Vous pouvez également utiliser des outils comme Postman ou Apidog pour faire et tester des requêtes GET avec différents paramètres et en-têtes. Vous pouvez également inspecter les données de réponse et les en-têtes à l'aide des outils de développement du navigateur ou de l'interface de l'outil.

Qu'est-ce que NodeJs ?

Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter du code JavaScript en dehors d'un navigateur Web. Node.js est basé sur le moteur JavaScript Google Chrome V8 et il est utilisé pour créer des applications Web, en particulier celles qui sont gourmandes en données et en temps réel. Node.js dispose également d'une grande bibliothèque de modules et de packages que vous pouvez utiliser pour ajouter des fonctionnalités à vos projets. Certains des avantages de Node.js sont :

NodeJs Website

Comment faire une requête GET dans Node.js en utilisant le module http ?

Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter du code JavaScript en dehors du navigateur Web. Node.js est souvent utilisé pour créer des serveurs Web, des applications Web et des API Web. Node.js fournit également un module http intégré qui vous permet de faire des requêtes et des réponses HTTP.

Pour faire une requête GET dans Node.js en utilisant le module http, vous devez suivre ces étapes :

  1. Importez le module http en utilisant la fonction require.
  2. Créez un objet options qui contient les informations sur la requête GET, telles que le nom d'hôte, le port, le chemin et les en-têtes.
  3. Utilisez la méthode http.get pour faire la requête GET, en passant l'objet options comme premier argument et une fonction de rappel comme deuxième argument. La fonction de rappel sera exécutée lorsque la réponse sera reçue et elle aura un objet response comme paramètre.
  4. Utilisez l'objet response pour gérer les données de réponse et les en-têtes. L'objet response est une instance de la classe http.IncomingMessage, qui implémente l'interface ReadableStream. Cela signifie que vous pouvez utiliser l'objet response comme un flux de données et écouter des événements comme data, end et error. Vous pouvez également utiliser la propriété response.statusCode pour obtenir le code d'état de la réponse et la propriété response.headers pour obtenir les en-têtes de la réponse.
  5. Utilisez la méthode response.on pour enregistrer des écouteurs d'événements pour l'objet response. Par exemple, vous pouvez utiliser la méthode response.on('data', callback) pour écouter l'événement data, qui sera émis lorsqu'un bloc de données sera reçu. La fonction de rappel aura un objet chunk comme paramètre, qui est un tampon de données. Vous pouvez utiliser la méthode chunk.toString() pour convertir le tampon en chaîne et l'ajouter à une variable pour stocker toutes les données de réponse. Vous pouvez également utiliser la méthode response.on('end', callback) pour écouter l'événement end, qui sera émis lorsque la réponse sera terminée. La fonction de rappel n'aura aucun paramètre et vous pouvez l'utiliser pour effectuer des actions finales, telles que la journalisation ou l'analyse des données de réponse. Vous pouvez également utiliser la méthode response.on('error', callback) pour écouter l'événement error, qui sera émis lorsqu'une erreur se produira pendant la réponse. La fonction de rappel aura un objet error comme paramètre et vous pouvez l'utiliser pour gérer l'erreur, comme la journalisation ou le lancement de celle-ci.

Voici un exemple de la façon de faire une requête GET dans Node.js en utilisant le module http :

// Import the http module
const http = require('http');

// Create an options object
const options = {
  hostname: 'api.openweathermap.org',
  port: 80,
  path: '/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY',
  headers: {
    'User-Agent': 'Node.js'
  }
};

// Make the GET request
http.get(options, (response) => {
  // Initialize a variable to store the response data
  let data = '';

  // Listen to the data event
  response.on('data', (chunk) => {
    // Append the chunk to the data variable
    data += chunk.toString();
  });

  // Listen to the end event
  response.on('end', () => {
    // Log the status code and the headers
    console.log(`Status code: ${response.statusCode}`);
    console.log(`Headers: ${JSON.stringify(response.headers)}`);

    // Parse the data as JSON
    const weather = JSON.parse(data);

    // Log the weather information
    console.log(`City: ${weather.name}`);
    console.log(`Temperature: ${weather.main.temp}`);
    console.log(`Description: ${weather.weather[0].description}`);
  });

  // Listen to the error event
  response.on('error', (error) => {
    // Throw the error
    throw error;
  });
});

Comment faire une requête GET dans Node.js en utilisant la bibliothèque axios ?

Le module http est un module de bas niveau qui fournit des fonctionnalités de base pour faire des requêtes et des réponses HTTP. Cependant, si vous souhaitez utiliser un module de niveau supérieur et plus convivial, vous pouvez utiliser la bibliothèque axios. Axios est une bibliothèque populaire et puissante qui vous permet de faire des requêtes HTTP et de gérer les réponses en utilisant des promesses et la syntaxe async/await. Axios prend également en charge des fonctionnalités telles que les intercepteurs, les transformateurs, les délais d'attente, les jetons d'annulation, etc.

Pour faire une requête GET dans Node.js en utilisant la bibliothèque axios, vous devez suivre ces étapes :

  1. Installez la bibliothèque axios en utilisant la commande npm : npm install axios.
  2. Importez la bibliothèque axios en utilisant la fonction require.
  3. Utilisez la méthode axios.get pour faire la requête GET, en passant l'URL de la ressource comme premier argument et un objet config facultatif comme deuxième argument. L'objet config peut contenir des informations sur la requête GET, telles que les en-têtes, les paramètres, le délai d'attente, etc. La méthode axios.get renverra une promesse, qui se résoudra en un objet response ou rejettera un objet error.
  4. Utilisez la méthode then pour gérer la promesse résolue, en passant une fonction de rappel comme premier argument. La fonction de rappel aura un objet response comme paramètre, qui contient les données de réponse, le statut, les en-têtes, etc. Vous pouvez utiliser la propriété response.data pour accéder aux données de réponse et la propriété response.status pour accéder au code d'état de la réponse. Vous pouvez également utiliser la méthode catch pour gérer la promesse rejetée, en passant une fonction de rappel comme premier argument. La fonction de rappel aura un objet error comme paramètre, qui contient le message d'erreur, le code, la requête et la réponse. Vous pouvez utiliser la propriété error.response pour accéder à l'objet de réponse et la propriété error.request pour accéder à l'objet de requête.
  5. Alternativement, vous pouvez utiliser la syntaxe async/await pour faire la requête GET et gérer la réponse. Pour ce faire, vous devez utiliser le mot-clé async avant la fonction qui contient la requête GET et le mot-clé await avant la méthode axios.get. Cela vous permettra d'écrire du code asynchrone de manière synchrone et d'affecter l'objet response à une variable. Vous pouvez ensuite utiliser le bloc try/catch pour gérer les erreurs qui peuvent survenir pendant la requête GET.

Voici un exemple de la façon de faire une requête GET dans Node.js en utilisant la bibliothèque axios :

// Import the axios library
const axios = require('axios');

// Make the GET request using the then method
axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
  headers: {
    'User-Agent': 'Node.js'
  }
}).then((response) => {
// Log the status code and the headers
  console.log(`Status code: ${response.status}`);
  console.log(`Headers: ${JSON.stringify(response.headers)}`);

  // Log the weather information
  console.log(`City: ${response.data.name}`);
  console.log(`Temperature: ${response.data.main.temp}`);
  console.log(`Description: ${response.data.weather[0].description}`);
}).catch((error) => {
  // Log the error message and code
  console.log(`Error message: ${error.message}`);
  console.log(`Error code: ${error.code}`);

  // Log the response status and data if available
  if (error.response) {
    console.log(`Response status: ${error.response.status}`);
    console.log(`Response data: ${JSON.stringify(error.response.data)}`);
  }

  // Log the request method and path if available
  if (error.request) {
    console.log(`Request method: ${error.request.method}`);
    console.log(`Request path: ${error.request.path}`);
  }
});

// Make the GET request using the async/await syntax
async function getWeather() {
  try {
    // Await the GET request and assign the response object to a variable
    const response = await axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
      headers: {
        'User-Agent': 'Node.js'
      }
    });

    // Log the status code and the headers
    console.log(`Status code: ${response.status}`);
    console.log(`Headers: ${JSON.stringify(response.headers)}`);

    // Log the weather information
    console.log(`City: ${response.data.name}`);
    console.log(`Temperature: ${response.data.main.temp}`);
    console.log(`Description: ${response.data.weather[0].description}`);
  } catch (error) {
    // Log the error message and code
    console.log(`Error message: ${error.message}`);
    console.log(`Error code: ${error.code}`);

    // Log the response status and data if available
    if (error.response) {
      console.log(`Response status: ${error.response.status}`);
      console.log(`Response data: ${JSON.stringify(error.response.data)}`);
    }

    // Log the request method and path if available
    if (error.request) {
      console.log(`Request method: ${error.request.method}`);
      console.log(`Request path: ${error.request.path}`);
    }
  }
}

// Call the getWeather function
getWeather();

Comment gérer les données de réponse dans Node.js ?

Une fois que vous avez fait une requête GET dans Node.js et reçu la réponse, vous souhaiterez peut-être faire quelque chose avec les données de réponse. Par exemple, vous souhaiterez peut-être afficher les données sur la console, enregistrer les données dans un fichier, analyser les données en tant que JSON ou XML, ou utiliser les données à d'autres fins.

Selon le type et le format des données de réponse, vous devrez peut-être utiliser différentes méthodes et différents modules pour gérer les données. Voici quelques scénarios courants et comment les gérer :

Comment tester la requête HTTP GET NodeJs en utilisant Apidog ?

Pour tester la requête HTTP Get en utilisant Apidog, vous devez suivre ces étapes simples :

  1. Ouvrez Apidog et cliquez sur le bouton "New Request" pour créer une nouvelle requête.
Select new request

2. Sélectionnez "GET" comme méthode de la requête.

Select get method

3. Entrez l'URL du point de terminaison de l'API

Enter the URL op the API

Cliquez ensuite sur le bouton "Envoyer" pour envoyer la requête à l'API.

Send the request and analyse the answer

Comme vous pouvez le constater, Apidog vous montre l'URL, les paramètres, les en-têtes et le corps de la requête, ainsi que le statut, les en-têtes et le corps de la réponse. Vous pouvez également voir le temps de réponse, la taille et le format de la requête et de la réponse, et les comparer avec différentes API Web.

Conclusion

Dans cet article de blog, je vous ai montré comment faire des requêtes GET dans Node.js en utilisant le module http et la bibliothèque axios. Je vous ai également montré comment gérer les données de réponse dans différents formats et scénarios. J'espère que vous avez appris quelque chose d'utile et que vous avez aimé lire cet article.

Merci de votre lecture et bon codage !

Explore more

Comment utiliser Deepseek R1 en local avec Cursor

Comment utiliser Deepseek R1 en local avec Cursor

Apprenez à configurer DeepSeek R1 local avec Cursor IDE pour une aide au codage IA privée et économique.

4 June 2025

Comment exécuter Gemma 3n sur Android ?

Comment exécuter Gemma 3n sur Android ?

Apprenez à installer et exécuter Gemma 3n sur Android via Google AI Edge Gallery.

3 June 2025

Comment utiliser Claude Code avec GitHub Actions

Comment utiliser Claude Code avec GitHub Actions

Découvrez Claude Code avec GitHub Actions : revues de code, corrections de bugs, implémentation de fonctionnalités. Tutoriel pour développeurs.

29 May 2025

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API