13.2. Zend_Service_Rest
Anterior | Capítulo 13. Zend_Service | Próxima

## 13.2. Zend_Service_Rest

### 13.2.1. Introdução

`Zend_Service_Rest` é um cliente REST básico para efetuar consultas a qualquer web service baseado em REST.

Exemplo 13.1. Uma requisição REST básica

No código abaixo, o método `setUri()` seta a URI base para o web service REST. Então, o método `restGet()` é chamado para executar uma requisição GET para um dado path com uma query string opcional.

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

    try {
        $rest = new Zend_Service_Rest();

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

        // Returns a Zend_HttpClient_Response Object
        $response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');

        if ($response->isSuccessful()) {
            echo $response->getBody();
        } else {
            echo '<p>An error occurred</p>';
        }
    } catch (Zend_Exception $e) {
            echo '<p>An error occurred (' .$e->getMessage(). ')<p>';
    }
    ?>

| Nota
Você pode passar uma query string devidamente formatada (sem o ponto de interrogação "`?`") para `restGet()`, ou voçê pode passar um array associativo pares nome-valor. Independentemente do método escolhido, os nomes e valores devem ser URL-encoded (ex: usando `urlencode()`).

Usar `restPost()` e `restPut()` é o mesmo que usar `restGet()`, mas os dados são enviados via HTTP POST ou PUT, respectivamente, em lugar de GET.

O método `restDelete()` opera em um path, mas não requer um segundo parâmetro pelo qual os dados podem ser passados.

Anterior | Acima | Próxima
Capítulo 13. Zend_Service | Principal | 13.3. Zend_Service_Amazon