LoginSignup
1
0

More than 3 years have passed since last update.

jsonファイルを元にDockerでSwagger-ui用のコンテナを作成する

Last updated at Posted at 2019-06-14

前回この記事でSwaggerのjsonファイルとyamlファイルを出力しました。
今回はそれを元にSwagger-ui用のDockerコンテナを作成したいと思います。

Swagger-ui用のDockerコンテナ作成

公式からSwagger用のimageが公開されているので、今回はそちら使用します。

DockerHub:swaggerapi/swagger-ui

docker-compose.ymlの作成

さっそく書いていきましょう。
この記事で作成したsample_qiitaの直下にあるdocker-compose.ymlに以下のように追記します。

docker-compose.yml

  swagger-ui:
    image: swaggerapi/swagger-ui
    container_name: "sample_qiita_swagger-ui"
    ports:
      - "8081:8080"
    volumes:
      - ./swagger-docs/swagger.json:/swagger.json
    environment:
      SWAGGER_JSON: /swagger.json

SWAGGER_JSONはコンテナ内に存在するファイルを指定することで、そのjsonファイルを元にSwagger UIを表示することができます。

docker-compose up -dでコンテナを起動し、localhost:8081にアクセスするとswagger.jsonを元に作成されたSwagger UIが表示されます。

最後に

実は今回の場合、ソースコードからAPIドキュメントを作成するボトムアップ式を採用しているので、正直作る意味がほとんどないんですよね。

また本当はここからさらにapiコンテナを立ててswaggerのコンテナと接続しcurlを実行できれば良いのですが、上手くできなかったのでこのような形になりました。
swaggerコンテナの中に入ってcurlコマンドを打つと上手く動くのに、実際にSwagger上でTry outを押してcurlコマンドで取得しようとすると上手く動きませんでした。

参考文献

Dockerを使ってswagger.yamlをサクッとみる (swagger-ui 3.x)
Swagger EditorとSwagger UIをDockerで動かす
Docker を使って Swagger の編集環境を構築する
DockerでSwagger UIを起動してAPI仕様書をブラウザに表示する手順
Spring Boot/KotlinでCRUD操作のできるAPIを作成する方法
[Jackson]kotlin/springbootでSwaggerのjsonファイルとyamlファイルを出力する方法
swagger-api/swagger-ui

1
0
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
1
0