Markdown形式のAPI設計書を作る方法
API設計書なんてSwaggerで作成したものをどこかでホストして共有すればOKですよね。
僕もそう考えていたのですが、先日とある理由でAPI設計書をファイル形式(HTML以外)で受け渡す必要が出てきまして、 OpenAPIで作成した定義をMarkdown形式に変換できる方法はないかなと調べたところ、便利なライブラリがあったので紹介します。
出来上がるもの
Markdownプレビューしたものがこちら
使用したライブラリ
OpenAPIやSwaggerからMarkdownを作成するライブラリがありました。
使い方
まずはライブラリを追加
$ yarn add widdershins
OpenAPIのyamlを用意
API定義は、こちらのリポジトリのpetstore.yaml
を使って試しました。
package.json
と同階層にファイルをコピーしておきます。
OpenAPI定義からMarkdownを作成
package.json
にビルド用のコマンドを追加して、yarn build
を実行すると、
petstore.md
が出力されます。
追加したビルド用コマンドはこちらです。オプションは必要に応じて変更してください。
"scripts": {
"build": "yarn widdershins",
"widdershins": "widdershins --language_tabs http:Http --expandBody --resolve --summary petstore.yaml -o petstore.md"
},
出力されたMarkdownファイルをVSCodeのMarkdownプレビューなどで見れば、最初に紹介した画像の通りの見え方になると思います。