swagger editor는 다음 링크를 통해서 바로 사용해볼 수 있다.
swagger editor는 로컬에서도 바로 실행해볼 수 있다.
nodejs 기반으로 작성이 되어 있으므로, npm start
를 통해 쉽게 실행할 수 있을 것 같은데, 에러가 나서 실행이 되지 않는다. 원인을 찾아보는게 귀찮기도 하고 해서 바로 아래에 docker 로 실행하는 방법이 있어, 이 방법을 이용한다.
docker를 이용해서 실행하는 방법을 몇 가지 소개해 뒀는데, swagger 설정 파일을 로컬에 가지고 있을 때 유용한 방법은 다음 명령을 이용하는 것이다.
docker run -d -p 80:8080 -v $(pwd):/tmp -e SWAGGER_FILE=/tmp/swagger.json swaggerapi/swagger-editor
v 옵션을 통해서 volume을 로컬의 특정 디렉토리와 마운트하고, 마운트 한 위치에 swagger 설정을 지정하는데 환경 변수 SWAGGER_FILE
로 정의해주면 된다.
이 명령도 실행하기가 번거롭다. docker-compose 파일로 작성해둔다.
services:
swagger:
image: swaggerapi/swagger-editor
volumes:
- $PWD:/tmp
environment:
- SWAGGER_FILE=/tmp/swagger.yaml
ports:
- 8880:8080
docker-compose.yml 이 위치한 디렉토리에 swagger.yaml 이라는 이름의 swagger 설정 파일을 올려놓고 다음을 실행만 하면 된다.
docker-compose up -d swagger
포트는 8880으로 외부에 공개했기 때문에 웹브라우저에서 http://localhost:8880 으로 접속하면 된다.
swagger.yaml 파일은 빈 파일로부터 시작할 수 있지만, 많은 항목들을 일일이 찾아서 기입해야 하기 때문에 번거롭고 어렵다. 그러므로, editor.swagger.io 에 접속해서 FILE > Save as YAML 메뉴를 선택해서 기본으로 작업 되어 있는 파일을 다운로드해서 사용하면 유용하다.