Node.js API Gateway 구현- API Gateways 관리 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를 배포 하고 Node.js를 사용하여 Gateway 통합하는 방법에 대한 간단한 예입니다. Swagger 실제로는 보안, 버전 관리, 사용자 정의 구성 및 기타 고려 사항과 같은 측면을 고려해야 합니다.