簡體   English   中英

Ruby on Rails API,適合初學者json響應

[英]Ruby on Rails API for beginner json response

我是紅寶石的新手。 如果這個問題可能很愚蠢,我會為此道歉...但是我無法弄清楚,我所看到的教程使這個簡單的任務變得令人困惑。 或者,我只是不了解自己所缺少的或該怎么做...如果分步教程可能有所幫助,謝謝!

我的任務是制作可以通過郵遞員/ DH傳遞JSON的Rails API。 有效載荷將為{“ value”:“ foo”}。 有效負載為{“ value”:“ bar”}的'200(OK)'響應

不需要數據庫,只需一個控制器即可接收有效負載並返回響應。

這就是我所知道的...

  1. 我所知道的是如何通過“ rails new testrails --api”創建rails api
  2. 然后轉到我的“ gemfile”並在gems中安裝某種json。
  3. 然后...我搞砸了config中的“ route.rb”文件和“ apps”中的控制器。
  4. 我在這里迷路了如何處理路由文件和控制器...
  5. 接下來會發生什么。

步驟1:安裝Rails 5

$ gem install rails

步驟2:創建僅API的Rails應用程序

$ rails new my_app --api

步驟3:整合機架式芯

$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

步驟4:生成一個控制器

$ 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

就這樣。 現在,您可以將POST請求發送到http://localhost:3000/foo ,看看會發生什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM