swagger-ui-express, swagger-autogen

JOO·2021년 11월 27일
0

node.js

목록 보기
9/15

swagger-ui-express, swagger-autogen


1.swagger-ui-express, swagger-autogen 설치

npm i swagger-ui-express
npm i swagger-autogen

2. app.js 세팅

// npm으로 설치해준 것들 불러오기
const swaggerUi = require("swagger-ui-express");
const swaggerFile = require("./swagger-output");

app.use("/swagger", swaggerUi.serve, swaggerUi.setup(swaggerFile));

3. swagger.js 세팅 (app.js와 같은 경로)

const swaggerAutogen = require("swagger-autogen")();

const doc = {
 info: {
   title: "NodeJS_blog API",
   description: "hanghae4W API",
 },
 host: "localhost:3000",
 schemes: ["http"],
};

const outputFile = "./swagger-output.json";
const endpointsFiles = ["./app.js"];

swaggerAutogen(outputFile, endpointsFiles, doc);

4. swagger.js 파일 실행

node ./swagger.js
이러면 swagger-output.json 파일이 생성된다. 이후 지정한 경로 (localhost:3000/swagger)로 접속하면 swagger ui가 적용된 api명세서가 나온다. 물론 json파일에서 자잘한것들은 수정해야 하지만 거의 자동으로 완성이 되기 때문에 매우 만족!

5. Authorize!!

내가 짠 코드의 경우 사용자 인증을 하는 미들웨어가 드어간 api가 있어서 해당 api를 swagger를 통해 작동시켜보면 인증 오류가 났다. 그럴땐 아래와 같이 하면된다.

먼저 임의로 토큰을 하나 발급받은 후 위에 표시된 Authorize를 클릭해 발급받은 토큰을 Type과 Value 모두 넣어주면 됨. (새로고침하면 다시넣어야함.. 더 좋은 방법있는지 찾아봐야할 듯)

profile
개발공부 기록

0개의 댓글

관련 채용 정보