⊗ppSpAiRs 52 of 83 menu

REST API em PHP

Existem abordagens especiais que padronizam APIs para a conveniência geral tanto dos desenvolvedores da API quanto de seus usuários.

Uma dessas abordagens é a REST API. Sua base está na ideia de que para operações CRUD é necessário utilizar vários métodos do protocolo HTTP.

Para obter dados - o método GET, para criar dados - o método POST, para alterar dados - o método PUT, para excluir dados - o método DELETE.

Como exemplo, vamos considerar uma API que manipula usuários. Vamos ver como ficariam as URLs para várias ações.

Obtendo todos os usuários:

GET http://api.loc/users/

Obtendo um usuário pelo seu id:

GET http://api.loc/user/1/

Criando um usuário:

POST http://api.loc/user/

Alterando um usuário pelo seu id:

PUT http://api.loc/user/1/

Excluindo um usuário pelo seu id:

DELETE http://api.loc/user/1/

Vamos ver como uma REST API é implementada em PHP. Existe um certo problema aqui. O fato é que tanto o PHP quanto o CURL suportam apenas os métodos GET e POST:

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // apenas GET e POST ?>

Portanto, para implementar uma REST API, teremos que recorrer a um truque. Sua essência está no fato de que, na realidade, os dados serão transmitidos apenas pelos métodos GET e POST, mas nós iremos simular o trabalho de outros métodos usando um cabeçalho HTTP personalizado. Vamos chamá-lo, por exemplo, de HTTP-X-HTTP-METHOD.

Assim, poderemos obter o conteúdo deste cabeçalho da seguinte forma:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; ?>

Agora podemos escrever a implementação da API:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; switch ($method) { case 'GET': // ... break; case 'POST': // ... break; case 'PUT': // ... break; case 'DELETE': // ... break; } ?>

Implemente uma REST API para produtos de uma loja virtual.

Teste o funcionamento da API implementada usando a biblioteca CURL.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar