概要
Swagger3.0(OpenAPI3.0)を使って簡単にmockを立ててデバッグしていきます。
NodeJSとかも使いません※ので、手軽にできるかと思います。
※ コードジェネレータを使う場合でも、OnlineEditor(https://editor.swagger.io/) からやれば、NodeJSとかは必要ありません。
既にSwagger2.Xで運用してる場合
https://openapi-converter.herokuapp.com/
こちらでコンバートしてください。
現在(2018/9)Swagger3.0(OpenAPI3.0)がrc版となっているので、ぼちぼち対応し始めても良いのではないでしょうか?
用意するもの
VSCode
https://code.visualstudio.com/公式のSwaggerEditorも有るのですが、重いし、操作性が悪いのでVSCodeをオススメします。
プラグインとして以下もインストールしてください。
- openapi-lint
- openapi-viewer
- YAML Support by Red Hat
APIsprout
https://github.com/danielgtaylor/apisprout簡単にmockを立てるためのツールです。
goの環境入ってればgo getでinstallできますが、以下の方法でもできるようです。(未検証)
YAMLを用意する
すでにある場合や、自動生成されている場合はスキップしてください
書き方はここに載っています。
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md
最初から全部読まず、こちらからコピペしていけば良いと思います。
https://github.com/OAI/OpenAPI-Specification/tree/master/examples/v3.0
mockのresponseとなる値を入れる
mockデバッグをする際、各パラメータのexampleがそのまま値となって入ってくるので
こちらを参考に値をいれてください。
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#exampleObject
こんなかんじでjsonをペタッと貼ったものをexampleにもできます。
できれば公式の参考コードみたいに、パラメータごとに書いたほうが良いのですが
使い捨て前提みたいな使い方をする場合、SwaggerUIのresponseをコピって整形もアリです。
SwaggerUIで確認
VSCodeでYAMLを開いた状態で
- ⇧⌘P
- OpenAPI:Preview
で表示できます。
YAMLに見慣れてくると、SwaggerUIでは
responseのjsonを確認したり、curlのコマンドを生成するときに開くくらいになるかと思います。
APIsproutでmock立ち上げ
以下のコマンドを実行するだけです
$ apisprout [YAMLファイルのパス]
完成!!
デフォルトのポートは8000です。