Servicios Web RESTful

Tutorial

¿Qué es RESTful?

REST (REpresentational State Transfer) es una arquitectura de sistemas que se utiliza para construir servicios web que sean ligeros, mantenibles y escalables por naturaleza. Un servicio web que se construye utilizando arquitectura REST se llama servicio RESTful.

El protocolo que se utiliza para consumir estos servicios es HTTP, el cual se utiliza en todos los sitios web, lo que los hace muy fácil de integrar en cualquier sitio.

Recursos

REST utiliza el concepto de recurso el cuál puede ser accedido a través de un identificador global, denominado comúnmente como URI (Uniform Resource Identifier) o URL (Uniform Resource Locator). Un ejemplo de un URL rest podría ser el siguiente:

            https://api.salesup.com/clientes
          

El formato JSON

JavaScript Object Notation (JSON) es un formato de texto muy ligero y que se utiliza comúnmente para la definición e intercambio de datos. JSON tiene la ventaja de ser muy fácil de aprender y de leer, tanto por los humanos como en los lenguajes de programación. Un ejemplo de JSON es el siguiente:

              {
                "nombre": "Juan",
                "apellido": "Perez",
                "edad": 38,
                "correo":"juanperez@gmail.com"
              }
            

El protocolo HTTP

HTTP es el protocolo más utilizado para obtener datos de los servidores web, el cual tiene una estructura simple basada en TCP/IP. El protocolo también permite que el cliente envíe información al servidor utilizando algunos métodos diferentes, los que se definirán en la siguiente sección.

En realidad, HTTP se compone de líneas simples de texto ASCII enviadas por el cliente a un servidor para solicitar una acción particular y luego, el servidor responde otras pocas líneas de texto antes de que el contenido real solicitado se envíe al cliente.

Métodos HTTP

Los métodos HTTP (también llamados verbos) nos permiten acceder y modificar los recursos. Los métodos más comunes son GET, POST, PUT y DELETE los cuales corresponden a las operaciones Leer, crear, modificar y eliminar comúnmente utilizadas en los sistemas de información. A continuación se describe cada uno de los verbos:

get
El verbo GET se utiliza para obtener o leer un recurso. En el caso de éxito, GET regresará una representación del objeto en algun formato como JSON o XML.
post
El verbo POST se utiliza crear un nuevo recurso en el sistema. Considera que POST no es un método idempotente, lo que significa que dos llamados con información idéntica generarán dos registros distintos. Normalmente el contenido del recurso se envía como parte del cuerpo de la petición en formato Multipart-form, JSON o XML.
put
El verbo PUT se utiliza comúnmente para modificar o reemplazar un recurso. Al igual que en POST, la nueva representación del mismo se manda en el cuerpo de la petición.
delete
El verbo DELETE se utiliza para eliminar un recurso de manera permanente.