誰かがhttpartyとRuby on Railsを使用してXMLを投稿する方法の例を提供できますか?
-
04-10-2019 - |
質問
XMLをWebサービスに投稿する必要があり、HTTPartyを使用しようとしています。誰かが私がそうする方法について例を提供できますか?
これが投稿する必要があるXMLの形式です。
<Candidate xmlns="com.mysite/2010/10/10" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<FirstName></FirstName>
<LastName></LastName>
<Email></Email>
<Gender></Gender>
</Candidate>
これがこれまでの私のクラスです:
require 'httparty'
class Webservice
include HTTParty
format :xml
base_uri 'mysite.com'
default_params :authorization => 'xxxxxxx'
def self.add_candidate(first_name,last_name,email,gender)
post('/test.xml', :body => "")
end
end
add_candidateを肉付けする方法がよくわかりません。
どんな助けも感謝します。
ありがとう。
解決
2つのオプションがあります。 HTTPARTYでは、文字列またはハッシュの両方を投稿できます。
文字列バージョンは次のとおりです。
post('/test.xml', :body => "<Candidate xmlns=\"com.mysite/2010/10/10\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><FirstName>#{first_name}</FirstName><LastName>#{last_name}</LastName><Email>#{email}</Email><Gender>#{gender}</Gender></Candidate>")
機能的ですが、きれいではありません。代わりにこれを行います:
post('/test.xml', :body => {
:Candidate => {
:FirstName => first_name,
:LastName => last_name,
:Email => email,
:Gender => gender,
}
}
さて、名前空間がエンドポイントで必要かどうか、そしてもしそうなら、ハッシュバージョンが機能するかどうかは確かではありません。その場合は、体をひもとして行う必要があるかもしれません。
所属していません StackOverflow