Setting Rails Grape API
1 min readJan 31, 2021
Grape is a REST-like API framework for Ruby. It’s designed to run on Rack or complement existing web application frameworks such as Rails and Sinatra by providing a simple DSL to easily develop RESTful APIs.
Setting project with grape
Adding necessary gems for grape :-
gem 'grape', '~> 1.0', '>= 1.0.3'
gem 'grape-swagger', '~> 0.30.1'
gem 'grape-swagger-rails', '~> 0.3.0'
gem 'rack-cors', :require=>'rack/cors'
Configuration files
- config/application.rb:
config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*', :headers=>:any, :methods=>[:get, :post, :delete, :options]
end
end
- config/initializers/inflections.rb
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'API'
end
- config/routes.rb
Rails.application.routes.draw do
mount VersioningGrape::API => '/api'
mount GrapeSwaggerRails::Engine => '/swagger'
end
for rails 6
- app/assets/config/manifest.js :- Adding following lines of code.
//= link grape_swagger_rails/application.css
//= link grape_swagger_rails/application.js