반응형
Swagger보다 가볍고, 설치가 쉬운 apidoc을 Koa에서 사용해보겠습니다. 직접 API와 응답을 기재해야 하기 때문에, 작은 프로젝트에서 적합할 것으로 생각됩니다.
npm install apidoc -g
우선 전역으로 apidoc을 설치해준 후, 프로젝트 루트 디렉토리에 apidoc.json이라는 설정 파일을 만들어 다음 내용을 작성해줍니다.
{
"name": "이름",
"version": "1.0.0",
"description": "페이지 설명",
"title": "페이지 제목",
"url": "http://localhost:4000/apidoc"
}
그 후 apidoc이 읽어올 파일에
/**
* @api {get} /api/user/:id Request User by ID
*
* @apiVersion 1.0.0
* @apiName GetUser
* @apiGroup Users
*
* @apiParam {String} id ex) `asd32j`, ...
*
* @apiSuccess {String} name
* @apiSuccess {Number} age
*/
주석으로 이렇게 API 명세를 작성해주면 됩니다.
packages.json의 서버 실행 스크립트에 다음 줄을 추가해서 서버가 실행될 때마다 apidoc을 갱신해주도록 합니다.
apidoc -i src/api -f \".*\\.controller.ts\" -o public/apidoc
src/api 폴더 안의 *.controller.ts 파일을 읽어와서 public/apidoc 위치에 문서를 만든다는 뜻입니다.
Koa에서 정적 파일을 serve하기 위해 koa-static 패키지를 설치한 후
import serve from "koa-static";
app.use(serve("./public"));
app.use(serve("./public/apidoc"));
이렇게 작성해준 후 /apidoc 라우트에 들어가보면
잘 뜹니다.
반응형
'Web > Backend' 카테고리의 다른 글
[NCP] 서버 만들고 쉽게 접근하기 (1) | 2024.05.28 |
---|---|
[백엔드 스터디] 2. 서버를 띄워보자 (0) | 2022.09.27 |
[백엔드 스터디] 1. 익스프레스 찍어먹기 (0) | 2022.09.26 |
[Strapi] Strapi 설치부터 배포까지 (1) | 2022.08.23 |
[GCP] 구글 클라우드 플랫폼에 Nginx로 리액트 프로젝트 배포하기 (2) | 2020.11.29 |
댓글