ホームページ > ウェブフロントエンド > jsチュートリアル > API とミドルウェア: 違いを理解する

API とミドルウェア: 違いを理解する

DDD
リリース: 2025-01-14 08:09:44
オリジナル
630 人が閲覧しました

バックエンド開発に取り組むとき、APIミドルウェア という 2 つの用語が必ず出てきます。

どちらもアプリケーション アーキテクチャにおいて重要な役割を果たしますが、目的は大きく異なります。

机をひっくり返したくなるほどの方法で、それらを分解して役割を比較し、違いを明確にしてみましょう。

APIとは何ですか?

API は アプリケーション プログラミング インターフェイス の略です。これは本質的に、さまざまなソフトウェア コンポーネントが相互に通信できるようにする契約です。

レストランのウェイターと考えてください。注文 (リクエスト) を受け取り、それをキッチン (サーバー) に届け、食べ物を持ち帰る (応答)。

API の主な特徴

  • データまたはサービスと対話できるようにエンドポイントを公開します。
  • HTTP/HTTPS 経由で動作します (Web API で最も一般的)。
  • REST、GraphQL、gRPC などのプロトコルに従うことができます。

現実世界のアナロジー

Uber を注文したり、ツイートを投稿したりするたびに API を使用することになります。アプリのバックエンドは、フロントエンドがデータを取得または送信するための API を提供します。

  • コード例 Express.js アプリでの単純な API エンドポイントは次のようになります。
  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');
  });
ログイン後にコピー
  • API は、アプリが外部の世界に公開する 内容 の機能を定義します。

API vs Middleware: Understanding the Difference

ミドルウェアとは何ですか?

ミドルウェアはキッチンの裏方スタッフに似ており、直接サービスを提供するわけではありませんが、すべてがスムーズに進むようにします。

技術用語では、ミドルウェアとは、アプリケーション パイプラインのリクエストとレスポンスの間に位置する関数または関数のセットです。

ミドルウェアの主な特徴

  • リクエストが最終ハンドラー (API など) に到達する前に処理します。
  • リクエストまたはレスポンスを変更できます。
  • 認証、ロギング、検証、エラー処理などのタスクによく使用されます。

現実世界のアナロジー

ミドルウェアは建物の警備員のようなものだと考えてください。

許可された個人 (有効なリクエスト) のみがオフィス (API) に到達することを保証します。

  • コード例 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');
  });
ログイン後にコピー
  • ミドルウェアは、リクエストがエンドポイントに到達する前にどのように処理されるかを処理します。

API vs Middleware: Understanding the Difference

API とミドルウェアの主な違い

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.

API とミドルウェアを使用する場合

  • API

    • 外部アプリケーションまたはサービスがシステムと対話する方法を提供する場合は、API を使用します。
    • 例: /users/:id 経由でユーザーの詳細を取得するモバイル アプリ。
  • ミドルウェア

    • 複数のルートまたは API に適用される横断的な懸念事項にはミドルウェアを使用します。
    • 例: すべての保護されたルートの JWT トークンを検証し、ブラウザーに Cookie を設定します。

API vs Middleware: Understanding the Difference

ひとつにまとめる

ライドシェアリングアプリを構築することを想像してみてください。 API には次のものが含まれる場合があります:

  • /drivers: 利用可能なドライバーを取得します。
  • /trips: 旅行を予約または管理します。

ミドルウェアは舞台裏で次のことを保証します。

  • 認証されたユーザーのみが /trips にアクセスできます。
  • リクエストごとにログが保存されます。
  • 乱用を防ぐためにレート制限が適用されます。

API とミドルウェアは両方とも、堅牢なアプリケーションの作成に不可欠です。一方は機能を公開し、もう一方はアプリケーションがスムーズかつ安全に動作することを保証します。

APIと言えば、

私は LiveAPI というとても便利なツールに取り組んでいます。

開発者にとって API ドキュメントを簡単に作成できるように設計されています。

API vs Middleware: Understanding the Difference

LiveAPI を使用すると、ユーザーがブラウザーから直接 API を実行できるインタラクティブな API ドキュメントを迅速に生成できます。

API vs Middleware: Understanding the Difference

手動でドキュメントを作成するのにうんざりしている場合、または API の Swagger の統合に時間を費やしたくない場合は、このツールを使用すると作業が楽になる可能性があります。今すぐ LiveAPI を試してください。

以上がAPI とミドルウェア: 違いを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート