15.2. Zend_Service_Rest

15.2.1. 導入

Zend_Service_Rest は、 REST ベースのウェブサービスで使用するための基本的な REST クライアントです。

例 15.1. 基本的な REST リクエスト

以下のコードでは、まず setUri() メソッドで REST ウェブサービスのベース URI を設定します。それから、 メソッドにパスとクエリ文字列を指定して restGet() をコールし、GET リクエストを実行します。

<?php
require_once 'Zend/Service/Rest.php';

try {
    $rest = new Zend_Service_Rest();

    $rest->setURI('http://example.org');

    // Zend_Http_Response オブジェクトを返します
    $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');

    if ($response->isSuccessful()) {
        echo $response->getBody();
    } else {
        echo '<p>エラーが発生しました</p>';
    }
} catch (Zend_Exception $e) {
        echo '<p>エラーが発生しました (' .$e->getMessage(). ')<p>';
}
?>       
[注意] 注意
restGet() にクエリ文字列を渡すには、 適切にフォーマットした文字列 (先頭の疑問符 "?" は含めません) を渡す方法か、あるいはパラメータ名と値を連想配列形式で渡す方法があります。 どちらを使用するにしても、パラメータ名および値は URL エンコードしなければなりません (例えば urlencode() を使用します)。

restPost() および restPut() の使用法は restGet() と同じです。違うのは、GET の代わりにそれぞれ HTTP POST あるいは PUT を使用することです。

restDelete() メソッドは、 最初のパラメータで指定したパスを操作します。 2 番目のパラメータを渡して対象を指定することはできません。