Gateway Node.js とライブラリを使用して API を作成し Express、 Swagger API ドキュメントを統合するには、次の手順を実行します。
ステップ 1: プロジェクトをセットアップしてライブラリをインストールする
- プロジェクト用に新しいディレクトリを作成します。
- Command Prompt またはを 開き Terminal 、プロジェクト ディレクトリに移動します
cd path_to_directory
。 - npm パッケージを初期化します
npm init -y
。 - 必要なライブラリをインストールします: 。
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 を使用して統合する方法の簡単な例であることに注意してください。 実際には、セキュリティ、バージョン管理、カスタム構成、その他の考慮事項などの側面を考慮する必要があります。