ruby-on-rails – 有人可以提供一个如何使用HTTParty和Ruby on Rails发布XML的示例吗?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 有人可以提供一个如何使用HTTParty和Ruby on Rails发布XML的示例吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要将一些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.

任何帮助,将不胜感激.

谢谢.

解决方法

你有两个选择. 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,}
}

现在,我无法确定端点是否需要命名空间,如果是,则哈希版本是否有效.如果是这种情况,你可能不得不将身体作为一个字符串.

猜你在找的Ruby相关文章