前回Swaggerについて調べて実際に使ってみました。
前回はwebからyamlファイルを生成し作成する方法でしたが、今回はDockerを使った方法を試してみます。
前回と同じくまだDockerについて浅い知識しかないのでご指摘などありましたらご連絡いただけますと幸いです。
前回の記事は以下です。
Swaggerについて調べてみた
今回参考にさせていただいた記事は以下です。ありがとうございます!
UI開発にSwaggerで作ったmockサーバーを使う
Swaggerの概要をまとめてみた。
DockerでSwagger Editorを立ち上げる
DockerHubにあるイメージをpullします。
以下が公式のイメージです。
swaggerapi/swagger-editor
上記の画像にあるようにコマンドを実行していきます。
$ docker pull swaggerapi/swagger-editor
$ docker run -d -p 80:8080 swaggerapi/swagger-editor
成功すると上記の場合localhost
で下記のようにSwagger Editorが開きます。
ここで編集をしていくということですね。
mockサーバーを作成する
こちらもDockerHubにあるイメージをpullします。
以下が公式のイメージです。
swaggerapi/swagger-codegen-cli
上記の画像にあるようにコマンドを実行していきます。
$ docker pull swaggerapi/swagger-codegen-cli
HTMLでUIを表示する
localhostで開いているSwagger Editorで下記の画像のように操作をします。
Generate Server
から開発環境に合わせたものを選びます。
今回私はnodejs-server
を選択しました。
ファイルがダウンロードされたら、ダウンロードしたディレクトリまで移動しましょう。
$ 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です。
できました!
DockerやAPIのこと理解できていないの悔しいので勉強します...