5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DockerでSwaggerUIとSwaggerEditorを起動させる方法

Last updated at Posted at 2020-10-24

Swaggerとは

Swaggerとは、APIドキュメント設計やAPIモック(プロトタイプ)のリクエストを投げることができるAPI構築のフレームワークとことです。
今回使用するSwaggerツールは以下の3つです。

ツール 説明
Swagger Spec (Spec=Specification=仕様書)Swaggerの仕様に関するドキュメントのことであり、YAML/JSON形式で書かれる。
Swagger Editor ブラウザ上で動くSwagger Specファイルを編集することができ、リアルタイムで構文チェックすることができるツール
Swagger UI Swagger Specをから動的にドキュメントを生成するツール。

その他のSwagger関連のツールは公式ページのリンクから確認してみてください。

Swaggerツールの関係性について

まずは、Swagger Specファイルの生成を主軸として、Swagger EditorとSwagger UIがどのように使われるのか図解にしてみました。
今回の使用イメージとしては、Swagger Editorを使いブラウザ上でAPIの仕様書となるSwaggerSpecを編集、定義していき、構文を確認できたら実際のyamlファイルに入力してSwagger UIから参照できるようにするという流れです。

スクリーンショット 2020-10-24 17.24.54.png

手順

設定のポイント:

  1. docker-compose.ymlにSwaggerEditorとSwaggerUIのイメージが作成されるように設定する・
  2. Swaggerの定義をsample.yamlとして置く。
docker-compose.yml
version: '3.7'
services:
 swagger-editor:
    image: swaggerapi/swagger-editor
    ports:
      - "8001:8080"

  swagger-ui:
    image: swaggerapi/swagger-ui
    ports:
      - "8002:8080"
    volumes:
      - ./sample.yaml:/sample.yaml
    environment:
      SWAGGER_JSON: sample.yaml
ディレクトリ構造

├── docker-compose.yaml
└── sample.yaml

ターミナルで以下を実行。

ターミナル
$ docker-compose up

https://localhosst:8001でSwaggerEditorが起動、https://localhost:8002でSwaggerUIが起動する。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?