Maison > interface Web > js tutoriel > API vs Middleware : comprendre la différence

API vs Middleware : comprendre la différence

DDD
Libérer: 2025-01-14 08:09:44
original
630 Les gens l'ont consulté

Lorsque vous travaillez sur le développement backend, deux termes que vous rencontrerez forcément sont API et Middleware.

Bien que les deux jouent un rôle essentiel dans l'architecture des applications, ils répondent à des objectifs très différents.

Décomposons-les, comparons leurs rôles et clarifions leurs différences d'une manière qui ne vous donnera pas envie de retourner votre bureau.

Qu'est-ce qu'une API ?

API signifie Application Programming Interface. Il s’agit essentiellement d’un contrat qui permet à différents composants logiciels de communiquer entre eux.

Pensez-y comme au serveur d'un restaurant : il prend votre commande (demandes), la livre à la cuisine (serveur) et ramène votre nourriture (réponse).

Caractéristiques clés des API

  • Expose les points de terminaison pour interagir avec des données ou des services.
  • Fonctionne via HTTP/HTTPS (le plus courant pour les API Web).
  • Peut suivre des protocoles tels que REST, GraphQL ou gRPC.

Analogie du monde réel

Vous utilisez une API chaque fois que vous commandez un Uber ou publiez un tweet. Le backend de l'application fournit une API permettant au frontend de récupérer ou d'envoyer des données.

  • Exemple de code Voici à quoi pourrait ressembler un simple point de terminaison d’API dans une application Express.js :
  const express = require('express');
  const app = express();

  app.get('/users', (req, res) => {
    res.json([
      { id: 1, name: 'John Doe' },
      { id: 2, name: 'Jane Smith' },
    ]);
  });

  app.listen(3000, () => {
    console.log('Server running on port 3000');
  });
Copier après la connexion
  • Les API définissent quelles fonctionnalités votre application expose au monde extérieur.

API vs Middleware: Understanding the Difference

Qu’est-ce qu’un middleware ?

Le middleware ressemble davantage au personnel en coulisses de la cuisine : ce n'est pas celui qui vous sert directement, mais il garantit que tout se passe bien.

En termes techniques, le middleware est une fonction ou un ensemble de fonctions qui se situe entre la requête et la réponse dans votre pipeline d'application.

Caractéristiques clés du middleware

  • Traite les requêtes avant qu'elles n'atteignent le gestionnaire final (par exemple, une API).
  • Peut modifier les demandes ou les réponses.
  • Souvent utilisé pour des tâches telles que l'authentification, la journalisation, la validation ou la gestion des erreurs.

Analogie du monde réel

Considérez le middleware comme un agent de sécurité dans un bâtiment.

Il garantit que seules les personnes autorisées (demandes valides) parviennent aux bureaux (API).

  • Exemple de code Voici un exemple de middleware de journalisation simple dans Express.js :
  const express = require('express');
  const app = express();

  const loggingMiddleware = (req, res, next) => {
    console.log(`Request made to: ${req.url}`);
    next(); // Pass control to the next middleware or handler
  };

  app.use(loggingMiddleware);

  app.get('/users', (req, res) => {
    res.json([
      { id: 1, name: 'John Doe' },
      { id: 2, name: 'Jane Smith' },
    ]);
  });

  app.listen(3000, () => {
    console.log('Server running on port 3000');
  });
Copier après la connexion
  • Le middleware gère comment les requêtes sont traitées avant qu'elles n'atteignent le point de terminaison.

API vs Middleware: Understanding the Difference

Principales différences entre l'API et le middleware

Aspect API Middleware
Purpose Defines endpoints for interaction. Processes requests/responses.
Visibility Exposed to external systems. Works internally within the app.
Examples /users, /products, /login Authentication, logging, error handling
Interaction Invoked by external clients. Invoked automatically in the request pipeline.
Code Placement Found in controllers. Found in the middleware functions.

Quand utiliser les API par rapport au middleware

  • API

    • Utilisez des API lorsque vous souhaitez permettre à des applications ou des services externes d'interagir avec votre système.
    • Exemple : une application mobile récupérant les détails de l'utilisateur via /users/:id.
  • Middleware

    • Utilisez un middleware pour les problèmes transversaux qui s'appliquent à plusieurs routes ou API.
    • Exemple : vérification des jetons JWT pour toutes les routes protégées, définition des cookies dans le navigateur.

API vs Middleware: Understanding the Difference

Le rassembler

Imaginez créer une application de covoiturage. Les API peuvent inclure :

  • /drivers : Pour récupérer les pilotes disponibles.
  • /trips : Pour réserver ou gérer des voyages.

En coulisses, le middleware assure :

  • Seuls les utilisateurs authentifiés peuvent accéder à /trips.
  • Des journaux sont conservés pour chaque demande.
  • Une limitation des tarifs est appliquée pour éviter les abus.

Les API et les middlewares sont indispensables à la création d'une application robuste : l'une expose les fonctionnalités et l'autre garantit son fonctionnement fluide et sécurisé.

En parlant d'API,

Je travaille sur un outil très pratique appelé LiveAPI.

Il est conçu pour faciliter la documentation des API pour les développeurs.

API vs Middleware: Understanding the Difference

Avec LiveAPI, vous pouvez générer rapidement une documentation interactive sur les API qui permet aux utilisateurs d'exécuter des API directement depuis le navigateur.

API vs Middleware: Understanding the Difference

Si vous en avez assez de créer manuellement des documents ou si vous ne voulez pas passer du temps à intégrer Swagger pour vos API, cet outil pourrait bien vous faciliter la vie, essayez LiveAPI maintenant !

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal