• openapi-generator-github
  • openapi-generator
  • swagger-editor가 Visual Studio Code Editor에서도 사용이 가능하다.
  • MS에서 codewind OpenAPI Tools
  • Openapi-lint
  • OpenAPI Preview
  • OpenAPI (swagger) Editor
  • ..

swagger Editor 이런거 다 설치할 필요가 없다... MS에서 만든 codewind OpenAPI Tools만 설치하면 openapi generator의 docker도 받고 preview도 되고, OpenAPI Editor를 설치하면 왼쪽에 따로 창이 떠서 yaml의 코드에서 어떤 위치에 정의되어있는지 전부다 나온다. 이게 짱이네... 그리고 추가로 MS에서 제공하는 Codewind OpenAPI Tools은 YARM 2.0 -> 3.0으로, yaml의 파일을 json으로 만들어주고 server, client 코드까지 다 만들어준다. Swagger 공홈가서 받고 그런삽질 안해도 된다.ㅠㅠㅠ

오늘 하루종일 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