LoginSignup
2
3

More than 5 years have passed since last update.

docker + swagger-editor で編集したファイルをローカルに保存する

Posted at

swagger-editor はデフォルトではローカルにファイルを保存できない。backend と呼ばれる REST API 経由でエディタに表示する内容を取得したり、エディタで編集した内容を保存させたりすることは可能なようだった。(swagger-editor/config.md 参照。)

自分で REST API を作るのは面倒だったので探してみたら、zgiber/sweb: Swagger Editor Backend というのが見つかった。go で backend の REST API が実装されていて、かつ swagger-editor のコンパイル済アセットが bindata.go にまるごと埋めこまれている (!) ので、このリポジトリ単体で swagger-editor + backend を実現することができる。便利。

簡単な使い方のメモ:

$ ls
Dockerfile  doc/        sweb.sh

$ ls doc/rest-api.yml 
doc/rest-api.yml

$ cat Dockerfile 
FROM golang:latest
RUN go get -u github.com/zgiber/sweb
CMD sweb -f /doc/rest-api.yml

$ cat sweb.sh 
docker build -t sweb .
docker run -p 8765:8765 -v $(pwd)/doc:/doc -ti sweb

$ sh sweb.sh
(略)

ここまでやると http://localhost:8765 で swagger-editor にアクセスできるようになり、デフォルトで doc/rest-api.yml の内容が表示される。編集するとホスト側の doc/rest-api.yml にも内容が反映される。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3