사실 프로젝트 구상이 완벽하게 된 상태가 아니라서 더 만들기보단 일단 Swagger를 이용하여 문서를 만들고 다시 하는 방법을 선택했다.
그리고 전에는 JSON을 이용하여 Swagger를 만들었지만 이번엔 Nestjs에서 쉽게 만드는 방법을 사용해보겠습니다.
npm install --save @nestjs/swagger fastify-swagger
해당 명령어를 생성해주고 package.json을 확인해줍니다.
만약 nestjs/core의 버전이 7이라면 swagger 버전을 4로 낮추고, 8이라면 swagger는 5를 사용해줍니다. 이렇게하지 않는다면 아래의 에러가 발생합니다..
Error: Cannot find module '@nestjs/core/router/route-path-factory'
main.ts
파일을 수정해줍니다. 이렇게 해주면 localhost:3000/swagger에 들어가면 자신의 Swagger를 확인할 수 있는데
자신이 만들었던 모든 라우터들이 출력됩니다. 하지만 아래 사진처럼 안에 들어있는 내용이 없기에 내용을 채워줘야합니다.
이제 Swagger에서 라우터를 수정하는 방법을 알아볼 차례인데, 이는 해당 컨트롤러에서 수정을 해줘야한다.
여기서 확인할껀
Apitags
와 ApiOperation
,ApiCreatedResponse
데코레이터다. API tag로 해당 컨트롤러의 태그를 지정하고, ApiOperation으로 라우터를 설명, ApiCreatedResponse를 이용하여 예시 응답을 보여줄 수 있다.
이렇게 수정하면
이렇게 실행할 수 있다!
하지만 아직 POST방식일 때 요청하는 방법을 모르기에 GET방식밖에 작동하지 않는다.. 부가적인 부분은 내일 더 찾아서 해보도록하겠습니다.