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' endok大功告成
本文介绍了如何在Rails中使用Grape框架创建API。首先,通过添加gem 'grape'、'grape-jbuilder'和'jbuilder'到Gemfile并安装。接着,创建app/api/api.rb文件,定义API版本、格式和路由。然后,在config/application.rb和config/routes.rb中配置加载路径和路由。最后,设置jbuilder视图并测试API。通过访问http://localhost:3000/api/v1/aaa/test可查看API效果。
1267

被折叠的 条评论
为什么被折叠?



