LIGHTz ではシステム間連携仕様共有やSPA開発での仕様共有に OpenAPI (Swagger) を使っています。
OpenAPI (Swagger)を使う上で便利なツールや tips を紹します!
swagger editor を docker で利用する
-
docker run -d -p <任意のポート>:8080 swaggerapi/swagger-editor
で起動できます - 以下のエイリアスを登録すると便利です
alias swagger='command="docker run -d -p <任意のポート>::8080 swaggerapi/swagger-editor" && echo $command && eval $command && open http://localhost:<任意のポート>:'
- syntax 確認も swagger editor で行うことができます
openapi-generator-cli を docker で利用する
- 以下のようなコマンドでコード生成ができます
docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g go \
-o /local/out/go
- 対応言語の一覧 ( -g の引数) は以下のコマンドで確認できます。
docker run --rm openapitools/openapi-generator-cli list
- i の部分は
/local/openapi.yml
でファイルシステムを指定することができる
openapi を Visual Studio Code で見たい書きたい
- 拡張を openapi or swagger で検索するとたくさん出てきます
- 個人的には swagger editor で一通りのことができるので使っていないです
openapi ドキュメントを html 化する
docker や vs code を立ち上げるのが億劫な人がいたり、どこかにホスティングする場合は html 化して配布するのが良いでしょう。
- 以下のコマンドで html 化できます
docker run --rm -i yousan/swagger-yaml-to-html < petstore.yaml or .json> petstore.html
- 利用しているコンテナ