我正在尝试学习 Ruby/Faraday。我需要将 XML 发布到 RESTful Web 服务,并且对如何执行此操作感到困惑。
我有一个包含 XML 的字符串,如下所示:
require "faraday"
require "faraday_middleware"
mystring = %&<xml><auth><user userid='username' pwd='password'/></auth></xml>&
如何将 XML 发布到 URL 并接收结果?我正在尝试做类似的事情:
conn = Faraday.new(:url=>'http://url')
conn.post '/logon' {mystring}
我收到消息:
SyntaxError: (irb):11: syntax error, unexpected '{', expecting $end
conn.post '/logon' {mystring}
编辑 1 我已经得到了 POST 请求。下面提供了我的代码。
require "faraday"
require "faraday_middleware"
myString = %&<xml><auth><user userid='username' pwd='password'/></auth></xml>&
myUrl = %&url&
conn = Faraday.new(:url => myUrl) do |builder|
builder.response :logger #logging stuff
builder.use Faraday::Adapter::NetHttp #default adapter for Net::HTTP
end
res = conn.post do |request|
request.url myUrl
request.body = myString
end
puts res.body