Ustvarjanje API-ja Gateway z uporabo Node.js s Express knjižnico in integracijo Swagger za dokumentacijo API-ja lahko izvedete na naslednji način:
1. korak: Nastavite projekt in namestite knjižnice
- Ustvarite nov imenik za svoj projekt.
- Odprite Command Prompt ali Terminal in se pomaknite do imenika projekta:
cd path_to_directory
. - Inicializirajte paket npm:
npm init -y
. - Namestite zahtevane knjižnice:.
npm install express ocelot swagger-ui-express
2. korak: Konfigurirajte Express in Ocelot
Ustvarite datoteko z imenom app.js
v imeniku projekta in jo odprite za konfiguracijo 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}`);
});
Ustvarite konfiguracijsko datoteko z imenom ocelot-config.json
za definiranje usmerjanja vaše zahteve:
{
"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. korak: Integracija Swagger
V app.js
datoteko dodajte naslednjo kodo za integracijo 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));
Ustvarite datoteko z imenom swagger.json
v imeniku projekta in definirajte informacije o dokumentaciji API-ja:
{
"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. korak: Zaženite projekt
Odprite Command Prompt ali Terminal in se pomaknite do imenika projekta.
Zaženite projekt z ukazom: node app.js
.
5. korak: Uporabniški Swagger vmesnik za dostop
UI dostopa Swagger na naslovu: http://localhost:3000/api-docs
.
Upoštevajte, da je to preprost primer, kako razmestiti API Gateway in integrirati Swagger z uporabo Node.js. V praksi bi morali upoštevati vidike, kot so varnost, različice, konfiguracija po meri in druge vidike.