rails grape 的使用详解

1、gem准备

      gem 'grape','~> 0.8.0'
      gem 'grape-jbuilder', '~> 0.2.0'

      gem 'jbuilder', '~> 2.0'

2、建立目录app/api/api.rb然后编写api.rb如下

class API < Grape::API
    version 'v1', using: :path
    format :json
    formatter :json, Grape::Formatter::Jbuilder
    prefix :api


    resource :aaa do
      desc "Return a public timeline."
      get :test  do
        @jacket = Jacket.first
      end
    end
end

3、配置

在config/application.rb 下添加

config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb')
    config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')]

在config/routes 下添加

mount API => '/'

此时重启服务器就ok了。

测试自己api   http://localhost:3000/api/v1/aaa/test

4、对于jbuilder

   首先建立views/api/aaa/test.jbuilder目录

修改api在api名称后边加上,jbuilder:"aaa/test"

在test.jbuilder里边加入需要显示的信息

要在api里边加入

formatter :json, Grape::Formatter::Jbuilder
在 config/application.rb加入
config.middleware.use(Rack::Config) do |env|
    env['api.tilt.root'] = Rails.root.join 'app', 'views', 'api'
  end
ok大功告成

你可能感兴趣的:(rails grape 的使用详解)