在ROR 3中公开Web服务API

时间:2011-05-04 14:53:09

标签: web-services ruby-on-rails-3 api

我非常感谢有关如何通过服务API从我的网站中最好地公开某些功能的建议..从我的在线搜索中我发现ActionWebService曾经在这方面提供某些功能但在最新版本的rails中已被弃用

为了详细说明,我想构建一个连接到我当前rails网站的iPhone应用程序..理想情况下是一个“API服务”模型,其中包含一系列将在HTTP上公开的函数:/// Services例如我需要提供所有iPhone的所有内容...所以基本上这些服务功能从其他模型中获取数据,只是在暴露的API中提供它。

如果我在这里有正确的方法以及在rails中公开API的语法是什么,请寻求建议?

谢谢!

1 个答案:

答案 0 :(得分:0)

实际上,Rails让这很简单。它默认公开XML端点。您可以轻松地公开JSON(对于iPhone,您应该使用JSON,因为它更容易解析)。另外,它还可以实现REST。您不应该添加API控制器 - 只需使用您已拥有的资源控制器。

respond_to块中,您应该已经看到了XML代码。对于JSON,只需添加以下内容:

format.json { render :json => @item, :status => :created, :location => @item }

在iPhone上使用像RestKit这样的东西连接它,你可以轻松创建一个与Rails应用程序通信的iPhone应用程序。