在创建Restful API时,您在Rails中有哪些选择?

时间:2010-11-12 03:55:45

标签: ruby-on-rails api

我希望人们能够使用API​​在ruby脚本中执行操作。

你在rails中有什么选择?

如果我想要对某些操作进行身份验证怎么办?

1 个答案:

答案 0 :(得分:2)

您可以使用routes.rb文件中的resources在rails中创建任何RESTful资源。因此,如果您有一个名为items的表,那么您可以转到resources :items。这将自动使您的控制器接受七个标准RESTful操作中的任何一个,新的,创建,索引等。

Rails可以处理许多不同的格式,开箱即用,html,json,xml等。所以如果你想让别人搜索你的项目,当你去一个看起来像某个东西的网址时,代码看起来会像这样像mydomain.com/items.json?search_term=HelloWorld:

class ItemsController < ApplicationController

  def index
    @item = Item.find_by_name(params[:search_term])

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @item}
      format.json { render :json => @item }   # this will get returned
    end

  end
end

如果您希望对操作进行身份验证,那么您可以使用类似omniauth gem的东西通过Facebook进行OAuth身份验证,或类似的东西。你需要在客户端使用某种类型的库来管理会话,除非你建议做一些像在URL中传递你的用户/传递一样的东西。