¿Qué es una API REST?

¿Qué es eso de lo que todo el mundo habla? ¿Tantas ventajas tiene una API REST? ¿Qué es una API? Todas estas respuestas son resueltas a continuación. ¡Quédate a leer!

¿Qué es una API?

El término API viene de las siglas Application Programming Interfaces y su propósito es permitir la comunicación entre dos entidades.

Para hacer una analogía con el mundo real, una API es aquella persona traductora que permite la comunicación entre dos personas que hablan lenguajes diferentes. En el mundo de la hostelería, la “API” serían los camareros, ya que interpretan lo que quiere el usuario y se traslada a cocina con la información necesaria.

Gracias al uso de APIs, los desarrolladores no tienen que estar continuamente inventando “la rueda'', por lo que permite en gran medida un ahorro de tiempo y dinero. Imaginad que Google tuviera que adaptar todos sus servicios (Gmail, Traductor, Maps) a cada aplicación que quisiera hacer uso de los mismos, sería impensable, es por ello que Google proporciona una API para que cualquier aplicación pueda hacer uso de los servicios sin mayor problema.

¿Qué es una API REST o RESTful?

Una API REST no es más que una API que sigue una arquitectura REST. Pero… ¿qué es eso de REST?

REST proviene de las siglas Representational State Transfer y su propósito es definir una serie de limitaciones sobre el concepto de API. La principal limitación de una API REST es que la comunicación se debe hacer a través de peticiones HTTP, aunque se deben cumplir los siguientes criterios:

  • Debe existir una arquitectura cliente-servidor.
  • La comunicación debe ser sin estado, es decir, el servidor no almacena información alguna del cliente (esto implica que todas las peticiones al servidor son independientes entre sí)
  • En la mayoría de los casos, deben aceptar las siguientes peticiones HTTP: POST (para crear), GET (para consultar), DELETE (para eliminar) y UPDATE (para actualizar o editar)
  • Todos los datos del servidor se deben poder manipular a través de una URI (por ejemplo, http://miservidor.com/ruta/elemento?eliminar=true).

¿Qué ventajas tiene una API REST?

Este tipo de comunicación presenta una gran cantidad de ventajas:

  • Permite separar el servidor del cliente en su totalidad gracias a la filosofía REST. Esto significa, en la mayoría de los casos, que separa totalmente el backend del frontend, por lo que permite que ambos puedan ser desarrollados de forma independiente.
  • Permite una gran flexibilidad ya que permite la comunicación con cualquier tipo de frontend, es decir, nuestro servidor puede comunicarse de igual manera con un navegador web o con una aplicación móvil.
  • Es independiente del lenguaje de programación, lo que permite que varios servidores se comuniquen entre sí aún estando desarrollados en lenguajes de programación distintos (siempre y cuando se comuniquen a través de JSON o XML). Esto permite extraer lo mejor de cada lenguaje de programación.

Creado por Francisco Javier Peña Vela el día 2022-03-01.