1. swagger 모듈을 설치한다.
- swagger-cli : 우리가 파일로 만든 API docs를 검증하고 하나의 파일로 합쳐주는 라이브러리 (분리된 파일들을 하나로 합쳐줌)
- swagger-ui-express : swagger-ui를 express에 쉽게 적용시킬 수 있도록 하는 라이브러리
- swagger-jsdoc : Javascript 주석 형태로 작성하면 이를 파싱하여 문서로 만드는 라이브러리
yarn add swagger-jsdoc swagger-ui-express swagger-cli --save-dev
npm i swagger-jsdoc swagger-ui-express swagger-cli --save-dev
2. 스웨서 설정 파일 작성한다.
난 config 폴더 안에 swagger.config.js 파일을 만들었다.
import SwaggerJsdoc from "swagger-jsdoc";
const options = {
definition: {
info: {
title: '스웨거 제목',
version: '1.0.0',
description: '스웨거 설명'
},
host: 'localhost:3000',
basepath: '../'
},
apis: ['./src/routes/*.js', './swagger/*']
};
export const specs = SwaggerJsdoc(options);
3. 스웨거 명세서를 생성한다.
난 swagger 폴더를 따로 만들었다.
4. 명세서 작성한다.
아래 링크들을 참고하여 만든다.
https://swagger.io/docs/specification/about/
5. index.js에 관련 코드를 추가한다.
// (...)
import { specs } from './config/swagger.config.js';
import SwaggerUi from 'swagger-ui-express';
// (...)
app.use(express.urlencoded({extended: false})); // 단순 객체 문자열 형태로 본문 데이터 해석
// swagger
app.use('/api-docs', SwaggerUi.serve, SwaggerUi.setup(specs));
// router setting
app.use('/reviews', reviewRouter);
// (...)
'Server > node.js' 카테고리의 다른 글
[node.js] 서버 API 만들기 (0) | 2024.08.31 |
---|---|
[node.js] express, restful api (0) | 2024.08.31 |
[node.js] DB 연동 (0) | 2024.08.31 |
[AWS] S3 파일 업로드 - node.js (0) | 2024.08.29 |
[CICD] Node.js + Github Action + Elastic Beanstalk 무중단 배포 (3-完) (0) | 2024.08.28 |