1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Grape / Rails / Swagger UI でAPIサーバーを構築する②

Posted at

####※前回: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

にアクセスすると

スクリーンショット 2020-04-23 0.30.05.png 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.rbmount 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 が表示されるはずです!!!

スクリーンショット 2020-04-23 1.30.50.png

簡単〜!!!!!!!!!!!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?