####※前回:Grape / Rails / Swagger UI でAPIサーバーを構築する①
https://qiita.com/tksh8/items/2e258a853d92130970dd
前回でAPIを作成できたので、
今回はそのAPIをSwagger UIで
簡単に操作できるようにします。
gemをGemfileに追加します。
Gemfile
gem 'grape-swagger'
bundle install
で実行します
root.rbにadd_swagger_documentation
を追加
/api/v1/root.rb
module V1
class Root < Grape::API
version :v1
format :json
mount V1::Users
add_swagger_documentation(
doc_version: '1.0.0',
info: {
title: 'テストAPI',
description: 'APIドキュメントです'
}
)
end
end
これで
http://localhost:3000/v1/swagger_doc
にアクセスすると
Swagger 用の JSON が返却されます!!!!次にこれを Swagger UI で見れるようにします
Gemfile に以下を追記する。
Gemfile
gem 'swagger_ui_engine'
bundle install
で実行します
config/routes.rb
を修正してルーティングを追加します。
config/initializers
に以下のようなswagger_ui_engine.rb
を作成します。
config/initializers/swagger_ui_engine.rb
SwaggerUiEngine.configure do |config|
config.swagger_url = {
v1: '/v1/swagger_doc'
}
end
routes.rb
にmount SwaggerUiEngine::Engine, at: '/v1/docs'
を追加します
config/routes.rb
Rails.application.routes.draw do
mount SwaggerUiEngine::Engine, at: '/v1/docs'
end
再起動し
下にアクセスすると、
http://localhost:3000/v1/docs
今度は
Swagger UI が表示されるはずです!!!
簡単〜!!!!!!!!!!!!