REST


¿Qué es REST?

REST (Representational State Transfer) es un estilo arquitectónico para diseñar servicios web. Fue propuesto por Roy Fielding en el año 2000 como parte de su tesis doctoral.

Una API REST es una interfaz que utiliza el protocolo HTTP para intercambiar datos entre cliente y servidor, utilizando URLs como recursos y métodos como GET, POST, PUT, DELETE, etc.


¿Para qué sirve REST?

REST permite construir APIs claras, predecibles y fáciles de consumir, ideales para:

  • Conectar el frontend con el backend.
  • Proveer datos a apps móviles o servicios externos.
  • Crear microservicios independientes y mantenibles.

Principios fundamentales de REST

  • Cliente-servidor: separación de responsabilidades.
  • Sin estado (stateless): cada petición debe contener toda la información necesaria.
  • Cacheable: las respuestas deben indicar si pueden ser almacenadas.
  • Recursos identificados por URLs: cada entidad es una dirección.
  • Uso de métodos HTTP estándar.

Ejemplo de rutas RESTful

Imagina una API para “pokémones”:

GET     /pokemon            → Obtener todos los pokémon
GET     /pokemon/25         → Obtener el pokémon con ID 25
POST    /pokemon            → Crear un nuevo pokémon
PUT     /pokemon/25         → Actualizar al pokémon 25
DELETE  /pokemon/25         → Eliminar al pokémon 25

Cada ruta representa un recurso, y el método HTTP define la acción.

Tipo de APICaracterísticas
RESTBasado en HTTP, recursos y verbos estándar.
GraphQLConsultas flexibles, un único endpoint.
SOAPXML estructurado, más rigidez, uso empresarial.

¿Dónde se usa REST?

  • En la mayoría de backends modernos (Express, Django, Rails…).
  • En frontend apps que consumen datos (React, Angular, Vue).
  • En herramientas como Postman o Swagger.
  • En integraciones con servicios externos (API de GitHub, Spotify, etc.).

Conclusión

REST es el estilo más extendido para construir APIs. Su simplicidad y claridad lo convierten en una base sólida para comunicar servicios en la web. Entender cómo funcionan las APIs REST es esencial para cualquier desarrollador moderno.


Usamos cookies para mejorar tu experiencia. ¿Aceptas las cookies de análisis?