SwaggerをDocker-composeで動かすまでをまとめてみた
はじめに
未来電子テクノロジー(https://www.miraidenshi-tech.jp/intern-content/program/)
でインターンをしているrayaと申します。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。
今回の内容
Docker-composeを導入したDjangoプロジェクトで、Swaggerを動かすまでをまとめてみました。
Swaggerとは
Swaggerとは、OpenAPIを使用するためのツール群のことです。
OpenAPIとは、REST APIsを簡単に作成するためのフォーマットのことです。
↓REST APIについてはこの記事が参考になります。
https://qiita.com/masato44gm/items/dffb8281536ad321fb08
Swaggerのツールには大きく以下のものがあります。
これらのツールを用いて、Swagger Spec
を操作します。
Swagger Spec
とはJSONかYAML形式で記述されたSwaggerの仕様書を指します。
・Swagger Editor
ブラウザ上で操作できるエディターです。Open APIsの仕様を記述できます。
・Swagger UI
Open APIsの記述(Swagger Specで定められた仕様)をレンダリングします。
・Swagger Codegen
Open APIsの記述からserver stubsやclient librariesを生成します。
server stubsはサーバーがデータを受信した際の挙動をテストするためのものです。
client libraryは、特定の機能を持った一連のコードのことで、開発中のプロジェクトに追加することで機能を追加できます。
Docker-composeを導入
以下の記事をご覧ください。
Docker-composeをDjangoにセットアップしてみた
開発環境を汚さずに、お手軽にSwaggerを使えるので、Docker環境で行うと良いかもしれません。
DockerでSwaggerを起動
今回はSwagger UIをDocker環境に取り込んで、起動させます。
https://hub.docker.com/r/swaggerapi/swagger-ui/
まずはSwagger UIを仮想環境に取り込みます。
$ docker pull swaggerapi/swagger-ui
Docker-composeを起動します。
$ docker-compose up -d
Swagger UIを起動します。
$ docker run -d -p 80:8080 swaggerapi/swagger-ui
終了する
終了する場合は、Dockerで起動したコンテナを停止させます。
そのために、docker ps
コマンドでCONTAINER ID
を表示させます。
今回は適当にaaaaaaaaaaaaとしています。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aaaaaaaaaaaa
次に、docker stop
コマンドで先ほどのCONTAINER ID
を指定します。
これでコンテナが終了します。
$ docker stop aaaaaaaaaaaa
aaaaaaaaaaaa
参考
・https://swagger.io/docs/specification/about/
・https://qiita.com/aucfan-engineer/items/5532fcf69b4f4dcd1c41
・https://qiita.com/hiyuzawa/items/81490020568417d85e86
Author And Source
この問題について(SwaggerをDocker-composeで動かすまでをまとめてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/breakthrough/items/f61ec6eb9d0c5860a9ac著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .