【发布时间】:2011-06-29 22:51:20
【问题描述】:
我正在使用 Ruby on Rails 3,并且正在尝试实现 API 以从 Web 服务中检索帐户信息。也就是说,我想连接到具有 Account 类的 Web 服务,并从路由到 URI http://<site_name>/accounts/1 的 show 操作获取信息。
此时,在web服务accounts_controller.rb文件中我有:
class AccountsController < ApplicationController
def show
@account = Account.find(params[:id])
respond_to do |format|
format.html
format.js
format.json { render :json => @account.to_json }
end
end
end
现在我需要一些关于连接到 Web 服务的建议。在客户端应用程序中,我应该有一个 HTTP GET 请求,但这是我的问题:连接到发出 HTTP 请求的 Web 服务的“最佳”方法是什么?
客户端应用程序中的此代码有效:
url = URI.parse('http://<site_name>/accounts/1.json')
req = Net::HTTP::Get.new(url.path)
res = Net::HTTP.start(url.host, url.port) {|http|
http.request(req)
}
@output = JSON(res.body)["account"]
但是,上面的代码是实现 API 的“方式”吗?
是否建议使用第三方插件和 gem?
【问题讨论】:
标签: ruby-on-rails ruby api ruby-on-rails-3 connection