⊗ppSpAiRs 52 of 83 menu

REST API en PHP

Existen enfoques especiales, que estandarizan las API para la comodidad general tanto de los desarrolladores de la API, como de sus usuarios.

Uno de estos enfoques es REST API. Su idea fundamental es que para las operaciones CRUD es necesario utilizar varios métodos del protocolo HTTP.

Para obtener datos - el método GET, para crear datos - el método POST, para modificar datos - el método PUT, para eliminar datos - el método DELETE.

Como ejemplo, consideremos una API que manipula usuarios. Veamos cómo se verían las URL para diferentes acciones.

Obtenemos todos los usuarios:

GET http://api.loc/users/

Obtenemos un usuario por su id:

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

Creamos un usuario:

POST http://api.loc/user/

Modificamos un usuario por su id:

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

Eliminamos un usuario por su id:

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

Veamos cómo se implementa REST API en PHP. Aquí hay un pequeño problema. El caso es que tanto PHP como CURL admiten solo los métodos GET y POST:

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

Por lo tanto, para implementar REST API tendremos que usar un truco. Su esencia consiste en que en realidad los datos se transmitirán solo mediante los métodos GET y POST, pero nosotros simularemos el trabajo de otros métodos utilizando un encabezado HTTP personalizado. Lo llamaremos, por ejemplo, HTTP-X-HTTP-METHOD.

Entonces podremos obtener el contenido de este encabezado de la siguiente manera:

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

Ahora podemos escribir la implementación de la API:

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

Implemente una REST API para productos de una tienda en línea.

Verifique el funcionamiento de la API implementada utilizando la biblioteca CURL.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar