Ruby/ファラデーを学ぼうとしています。XML を RESTful Web サービスに POST する必要があり、その方法について混乱しています。
次のような 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