3
2

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.

Swaggerについて調べてみた(Dockerバージョン)

Posted at

前回Swaggerについて調べて実際に使ってみました。
前回はwebからyamlファイルを生成し作成する方法でしたが、今回はDockerを使った方法を試してみます。

前回と同じくまだDockerについて浅い知識しかないのでご指摘などありましたらご連絡いただけますと幸いです。

前回の記事は以下です。
Swaggerについて調べてみた

今回参考にさせていただいた記事は以下です。ありがとうございます!
UI開発にSwaggerで作ったmockサーバーを使う
Swaggerの概要をまとめてみた。

DockerでSwagger Editorを立ち上げる

DockerHubにあるイメージをpullします。
以下が公式のイメージです。
swaggerapi/swagger-editor

スクリーンショット 2021-04-03 22.00.06.png

上記の画像にあるようにコマンドを実行していきます。

$ docker pull swaggerapi/swagger-editor
$ docker run -d -p 80:8080 swaggerapi/swagger-editor

成功すると上記の場合localhostで下記のようにSwagger Editorが開きます。

スクリーンショット 2021-04-03 22.05.26.png

ここで編集をしていくということですね。

mockサーバーを作成する

こちらもDockerHubにあるイメージをpullします。
以下が公式のイメージです。
swaggerapi/swagger-codegen-cli

スクリーンショット 2021-04-03 22.00.59.png

上記の画像にあるようにコマンドを実行していきます。

$ docker pull swaggerapi/swagger-codegen-cli

HTMLでUIを表示する

localhostで開いているSwagger Editorで下記の画像のように操作をします。
Generate Serverから開発環境に合わせたものを選びます。
今回私はnodejs-serverを選択しました。

スクリーンショット 2021-04-03 22.44.03.png

ファイルがダウンロードされたら、ダウンロードしたディレクトリまで移動しましょう。

$ cd nodejs-server-server

そして以下のコマンドを入力します。

$ npm install
$ node index.js

そうすると私の場合は以下のような表示が出ます。

Your server is listening on port 3000 (http://localhost:3000)
Swagger-ui is available on http://localhost:3000/docs

私はyamlにhost: localhost:3000と指定した為、上記のような表示になるわけです。
そして記載されているようにUIを開くにはhttp://localhost:3000/docsを開いてあげればOKです。

スクリーンショット 2021-04-03 22.43.21.png

できました!

DockerやAPIのこと理解できていないの悔しいので勉強します...

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?