最开始学习Grape文档的时候完全看不懂,几经波折终于在浏览器上面访问到了json数据。下面介绍一下一些需要注意的问题。
1、必须在application.rb中添加api目录下面的rb文件到rails程序集中:
#API
config.paths.add File.join('app','api'), glob: File.join('**', '*.rb')
config.autoload_paths += Dir[Rails.root.join('app','api','*')]
2、要在config.rb中设置运行的服务程序
run API
3、在书写api.rb程序的时候需要require 'grape'.
另外必须在类中书写prefix 'api' 才能为此配置路由.
require 'grape'
class API< Grape::API
puts "API is running"
version 'v1', using: :header, vendor: 'Unirole'
format :json
prefix 'api'
resource 'users' do
get :all_user do
User.all
end
end
end
4、gemfile中要添加grape-rails-routes包才能查看到grape的路由
gem 'grape-rails-routes'
gem 'grape'
gem 'grape-entity'
gem 'grape-swagger'
5、注册路由routes.rb:
#API
mount API => '/api'
完成了这些基本步骤,就可以通过
rake routes_with_grape
命令查看和api相关的路由以及通过rackup开启的服务端口,访问到相应的数据了。
个人的理解是,路由是通过api.rb配置的,在config.ru的时候启动这里面的服务。