Rails 3.如何将API添加到rails应用程序

Jon*_*ark 11 api ruby-on-rails-3

我想构建一个可以在其他客户端访问的简单API.我想使用Rails 3来构建它但我不知道该怎么做.我知道Rails或多或少都有这种内容,但我不知道如何与它进行交互.

我是否可以阅读有关如何将我的Rails 3应用程序转换为具有远程API的服务器的Internet上的任何资源?

感谢所有输入.

Pau*_*lgo 10

尽管已经说过,你可以从rails api截屏开始.虽然它仅适用于API应用程序.

如果您想为现有的完整rails应用程序添加API,请查看此博客文章,其中包含Rails API的基本知识,包括加速提示.

由于这也是一项要求,为了保护您的API,还有关于该主题的截屏视频:#352保护API

Yehuda Katz和Ryan Bigg的书" Rails 3 in Action"中有一章介绍了在贯穿整本书的示例应用程序之上构建测试驱动的JSON API.

本书中的示例应用程序代码Ticketee是开源的,可以在GitHub上找到.特别是,与API相关的所有内容都在/ app/controllers/api下命名,你可以在/ spec/api中找到大量的RSpec测试.


oli*_*nes 9

一个好的起点可能是阅读REST和响应者

然后,要从另一个rails应用程序与API进行交互,您可以使用ActiveResource.它上面有一个Railscast.

一个例子:

#API side
class ProductsController < ApplicationController
  respond_to :json

  def index
    @products = Product.all
    respond_with(@products)
  end
end

#Client
# models/product.rb
class Product < ActiveResource::Base
  self.site = "http://your-api-app.com"
end
Run Code Online (Sandbox Code Playgroud)