嘿所有,我有一个客户端正在将Rails 1.2.6站点与另一个以RESTful方式公开服务的站点集成。目前无法升级到Rails 2.x。有没有人建议除了直接Net :: HTTP调用之外的方法与REST服务进行通信?欢迎使用技术或宝石建议,但我见过的大多数宝石似乎都依赖于ActiveSupport 2.x,我认为这与Rails 1.x不兼容。
提前感谢您提供的任何输入。
答案 0 :(得分:1)
试试HTTParty。它非常依赖于依赖关系,并且可以很容易地将JSON或XML资源的消耗添加到应用程序中。
答案 1 :(得分:0)
感谢Chris Heald的回复。我最终使用Net :: HTTP,因为它比我想象的更直接。 HTTParty似乎可以让这更容易,但为了这个问题的未来人的利益,这就是我做的。
# Assume @user_name and @password were previously declared to be the
# appropriate basic auth values and that the connection is open as @connection
def put(path, body, header={})
request = Net::HTTP::Put.new(path, header.merge({'Accept' => 'application/xml,application/json', 'Content-type'=>'application/json'}))
request.basic_auth(@user_name, @password)
@connection.request(request, body).body
end
def post(path, body, header={})
request = Net::HTTP::Post.new(path, header.merge({'Accept' => 'application/xml,application/json', 'Content-type'=>'application/json'}))
request.basic_auth(@user_name, @password)
@connection.request(request, body).body
end
def get(path, header={})
request = Net::HTTP::Get.new(path)
request.basic_auth(@user_name, @password)
@connection.request(request).body
end
然后我在这些方法的输出上调用了JSON :: parse(),得到了一个代表我可以使用的JSON的哈希。