Railsで作ったREST APIをSwagger対応

このエントリーをはてなブックマークに追加
はてなブックマーク - Railsで作ったREST APIをSwagger対応
LINEで送る
Pocket

背景

概要

郵便番号検索API

手順

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

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

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

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

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

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

デモ

スクリーンショット

swagger-doc

まとめ

  • http://postcode.teraren.com/のAPIをswaggerで表現して、ローカルでテストしてみました。
  • swagger-docsの最終更新日は1年以上前で、重要な不具合があるので利用はオススメ出来ません。
  • grape-swaggerは活発そうです。
このエントリーをはてなブックマークに追加
はてなブックマーク - Railsで作ったREST APIをSwagger対応
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

コメントを残す