クライアント用にまとめる必要がある新しい小さな Web サービス (WS) に Sinatra を使用することを計画しています。
WS には 2 つのメソッドしかありません。1 つは GET 経由で、もう 1 つは POST 経由でアクセスします。POST メソッドの場合、クライアントは XML パケットを sinatra WS に送信します。sinatra WS はデータを解析し、200 OK HTTP 応答または 40x エラー コードを発行します。
私の質問は、受信した POSTed XML パケットを Sinatra で解析するにはどうすればよいですか?
着信データ パケットがどのように見えるかの例を次に示します。
<?xml version="1.0" encoding="utf-8" ?>
<Counts>
<OccupiedCount>300</OccupiedCount>
<ReservedCount>40</ReservedCount>
<VacantCount>160</VacantCount>
<TotalCount>500</TotalCount>
<Checksum>0777d5c17d4066b82ab86dff8a46af6f</Checksum>
<Timestamp>2009-11-21T14:06:19Z</Timestamp>
<ApiKey>1234567890qwerty</ApiKey>
</Counts>
Crack XML などで解析できるように、Sinatra params オブジェクトを介してデータ パケットにアクセスする方法はありますか? それとも、WS に POST された XML データ パケット全体を取得するために、ある種の Rack 変数を使用する必要がありますか?