0

現在、外部 RESTful API への get 呼び出しを行い、受信した XML データを解析してローカル データベースに格納する Rails アプリケーションを使用しています。このアプリケーションは、XML ペイロードを使用して外部 API へのポストおよびプット コールを実行できる必要もあります。

さまざまなデータベース テーブルから、これらのペイロードのいくつかを (さまざまな呼び出しに対して) 作成する必要があります。POST および PUT 呼び出しの一部として使用する XML ペイロードの作成プロセスを自動化するにはどうすればよいでしょうか?

操作: Ruby on Rails、XML、MySql、および外部 RESTful API

4

1 に答える 1

1

優れた HTTParty ライブラリを使用できます。

This answer here は、それを行う方法の良い例を提供します。いくつかのコードでそれらを要約しようとします。あなたはこのようなことをしたい:

require 'httparty'
class Webservice
  include HTTParty
  format :xml
  base_uri 'mysite.com'
  default_params :authorization => 'xxxxxxx'

  def self.add_candidate(candidate_hash={})
    post('/test.xml', :body => candidate_hash)    
  end  
end

ここで、candidate_hash は次のようになります。

  :Candidate => {
    :FirstName => first_name,
    :LastName  => last_name,
    :Email     => email,
    :Gender    => gender,
  }

基本的に、HTTParty は Ruby ハッシュを取得し、必要に応じてポスト/プットする前に自動的に XML (または JSON) に変換します。

于 2013-09-26T19:43:28.110 に答える