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から参照できるようにするという流れです。
手順
設定のポイント:
-
docker-compose.yml
にSwaggerEditorとSwaggerUIのイメージが作成されるように設定する・ - 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が起動する。