Mencipta API Gateway menggunakan Node.js dengan Express perpustakaan dan menyepadukan Swagger untuk dokumentasi API boleh dilakukan seperti berikut:
Langkah 1: Sediakan Projek dan Pasang Perpustakaan
- Buat direktori baharu untuk projek anda.
- Buka Command Prompt atau Terminal dan navigasi ke direktori projek:
cd path_to_directory
. - Mulakan pakej npm:
npm init -y
. - Pasang perpustakaan yang diperlukan:.
npm install express ocelot swagger-ui-express
Langkah 2: Konfigurasikan Express dan Ocelot
Buat fail bernama app.js
dalam direktori projek dan bukanya untuk mengkonfigurasi 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}`);
});
Buat fail konfigurasi bernama ocelot-config.json
untuk menentukan penghalaan permintaan anda:
{
"Routes": [
{
"DownstreamPathTemplate": "/service1/{everything}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 5001
}
],
"UpstreamPathTemplate": "/api/service1/{everything}",
"UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ]
}
// Add other routes here
]
}
Langkah 3: Integrasi Swagger
Dalam app.js
fail, tambahkan kod berikut untuk disepadukan 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));
Buat fail bernama swagger.json
dalam direktori projek dan tentukan maklumat dokumentasi 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
}
}
Langkah 4: Jalankan Projek
Buka Command Prompt atau Terminal dan navigasi ke direktori projek.
Jalankan projek dengan arahan: node app.js
.
Langkah 5: Akses Swagger UI
Akses Swagger UI di alamat: http://localhost:3000/api-docs
.
Sila ambil perhatian bahawa ini ialah contoh mudah tentang cara menggunakan API Gateway dan menyepadukan Swagger menggunakan Node.js. Dalam amalan, anda harus mempertimbangkan aspek seperti keselamatan, versi, konfigurasi tersuai dan pertimbangan lain.