Node.js API Gateway 実装- Gateways を使用したAPI の管理 Swagger

Gateway Node.js とライブラリを使用して API を作成し Express、 Swagger API ドキュメントを統合するには、次の手順を実行します。

ステップ 1: プロジェクトをセットアップしてライブラリをインストールする

  1. プロジェクト用に新しいディレクトリを作成します。
  2. Command Prompt またはを 開き Terminal 、プロジェクト ディレクトリに移動します cd path_to_directory
  3. npm パッケージを初期化します npm init -y
  4. 必要なライブラリをインストールします: 。 npm install express ocelot swagger-ui-express

ステップ 2: 構成 Express と Ocelot

app.js プロジェクト ディレクトリに という名前のファイルを作成し、それを開いて設定します Express。

const express = require('express');  
const app = express();  
const port = 3000;  
  
// Define routes here  
  
app.listen(port,() => {  
  console.log(`API Gateway is running at http://localhost:${port}`);  
});  

ocelot-config.json リクエストのルーティングを定義するために 次の名前の構成ファイルを作成します。

{  
  "Routes": [  
    {  
      "DownstreamPathTemplate": "/service1/{everything}",  
      "DownstreamScheme": "http",  
      "DownstreamHostAndPorts": [  
        {  
          "Host": "localhost",  
          "Port": 5001  
        }  
      ],  
      "UpstreamPathTemplate": "/api/service1/{everything}",  
      "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ]  
    }  
    // Add other routes here  
  ]  
}  

ステップ 3: 統合する Swagger

ファイルに app.js 次のコードを追加して統合します Swagger。

const swaggerUi = require('swagger-ui-express');  
const swaggerDocument = require('./swagger.json'); // Create a swagger.json file  
  
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));  

swagger.json プロジェクト ディレクトリに 次の名前のファイルを作成し、API ドキュメント情報を定義します。

{  
  "swagger": "2.0",  
  "info": {  
    "title": "API Gateway",  
    "version": "1.0.0"  
  },  
  "paths": {  
    "/api/service1/{everything}": {  
      "get": {  
        "summary": "Get data from Service 1",  
        "responses": {  
          "200": {  
            "description": "Successful response"  
          }  
        }  
      }  
    }  
    // Add definitions for other APIs here  
  }  
}  

ステップ 4: プロジェクトを実行する

Command Prompt または を 開き Terminal 、プロジェクト ディレクトリに移動します。

次のコマンドを使用してプロジェクトを実行します node app.js

ステップ 5: Swagger UIにアクセスする

Swagger 次のアドレスで UI にアクセスします http://localhost:3000/api-docs

これは、API をデプロイし Gateway、 Swagger Node.js を使用して統合する方法の簡単な例であることに注意してください。 実際には、セキュリティ、バージョン管理、カスタム構成、その他の考慮事項などの側面を考慮する必要があります。