Railsで作ったREST APIをSwagger対応

Ruby

背景

概要

郵便番号検索API

手順

  • Gemfileswagger-docsを追加します。
    • しかしながら、masterブランチにバグがあり、pathにスラッシュが付かないので、forkされたgemを使います。

gemをインストールします。

$ bundle

swaggerの初期設定ファイルを作成します。
initializerをconfig/initializers/swagger_docs.rbに作成して、以下のようにAPIサーバの基本情報を書いておきます。

該当するControllerに、API仕様を追記します。
今回は、5行目から40行目を追記しました。

swaggerの定義ファイルをJSON形式で出力します。
以下のrakeタスクが、controllerを全て読んで、先ほど書いた設定をパースしてくれます。
(もし、deploy時に生成したい場合は以下のrakeタスクをcapistranoなどで実行するようにしておきます。)

% rake swagger:docs

上記のコマンドが実行されることにより、以下のファイルが出力されます。

デモ

スクリーンショット

swagger-doc

まとめ

コメント