【问题标题】:Ruby on Rails API for beginner json response用于初学者 json 响应的 Ruby on Rails API
【发布时间】:2017-07-30 00:34:41
【问题描述】:

我是 ruby​​ on rails 的新手。如果这个问题可能很愚蠢,我很早就道歉......但我无法弄清楚这一点,而且我看到的教程让这个简单的任务变得混乱。或者我只是不明白我缺少什么或做什么......如果分步教程可能会有所帮助,谢谢!

我的任务是制作一个 Rails api,您可以通过 postman/DH 将 JSON 传递给它。 有效负载将为 {"value": "foo"}。有效载荷为 {"value":"bar"}

的“200 (OK)”响应

不需要数据库,只需一个控制器,接收有效负载并返回响应。

这就是我所知道的......

  1. 我所知道的是如何通过“rails new testrails --api”创建一个rails api
  2. 然后转到我的“gemfile”并将某种 json 安装到 gem。
  3. 然后...我弄乱了配置中的“route.rb”文件和“应用程序”中的控制器。
  4. 我在这里迷失了我需要对路由文件和控制器做什么...
  5. 接下来是什么步骤。

【问题讨论】:

标签: ruby-on-rails json ruby api postman


【解决方案1】:

第 1 步:安装 Rails 5

$ gem install rails

第 2 步:创建仅 API 的 Rails 应用程序

$ rails new my_app --api

第 3 步:整合 rack-cors

$RAILS_ROOT/Gemfile 的底部添加gem 'rack-cors'$RAILS_ROOT 代表 Rails 应用的根目录),然后

$ bundle install

然后将这些行添加到您的$RAILS_ROOT/config/application.rb,在类定义中

config.middleware.insert_before 0, Rack::Cors do
  allow do
    origins '*'
    resource '*', :headers => :any, :methods => [:get, :post, :patch, :put, :delete, :options]
  end
end

第四步:生成控制器

$ rails g controller foo

FooController 添加一个操作(在文件$RAILS_ROOT/controllers/foo_controller.rb 中)

def create
  foo = params[:foo]
  # Do whatever you want with foo
  render json: {value: 'bar'}
end

第 5 步:添加路线

修改文件$RAILS_ROOT/config/routes.rb,添加

post '/foo' => 'foo#index'

在区块中

第 6 步:启动 rails 服务器

$ rails s

就是这样。现在您可以向http://localhost:3000/foo 发送 POST 请求,看看会发生什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多