오늘 하루종일 swagger를 찾아보다가 드는 의문이, swagger.yaml을 생성하고 그 파일을 바탕으로 nodejs, spring, go framework에 맞는 코드를 생성하면 뭐하지? 내가 그 안을 채웠을때 swagger.yaml과 어떻게 sync를 맞출까... 매번 swagger.yaml을 기준으로 수정하고 다시 코드를 생성하는걸까...? 뭐가 맞는지 정말 모르겠다. Springboot의 경우 annotation을 작성해서 자동으로 swagger.yaml을 만드는데 코드 -> swagger.yaml을 생성이 맞는게 아닐까? swagger.yaml의 역할이 blueprint의 역할을 한다면 swager.yaml에서 코드를 만드는게 맞는것 같기도하고..

뭐가 맞는지는 모르겠지만 일단 koa-swagger-decorator를 찾았다. decorator는 코드에 decorator를 작성해서 swagger json docs을 자동으로 생성해주는 역할을 한다. 내코드가 swagger json을 생성해주니까, 코드만 수정하면 swagger-ui에 바로 반영이 된다.

$ npm install koa-swagger-decorator

현재 swagger에서는 OpenAPI 3.0까지 지원하던데 해당 코드는 Swagger OpenAPI 2.0을 기준으로 한다. migration이 가능할것 같으니 일단은 그냥 사용해보는걸로.. 위 패키지를 설치하고 다음과 같이 코드를 추가한다.

import { SwaggerRouter } from 'koa-swagger-decorator'

사용성이 구려서 사용안하기로

+ Recent posts