Ir al contenido
Jueves, 15 de octubre de 2026 · Servicio normal en las 4 líneas

RUTAS WEB · GUÍA 1 DE 2

API REST: qué es, cómo funciona y cómo se diseñan sus rutas

Una API REST permite que dos programas se hablen por HTTP con direcciones claras y unos pocos verbos. La recorremos de principio a fin, con ejemplos que se entienden sin ser programador.

Armario de servidores con cables de red, donde se atienden las peticiones de una API REST

Cada vez que una aplicación del móvil muestra el tiempo, el saldo de una cuenta o los pedidos de una tienda, casi seguro que detrás hay una API REST: una forma ordenada de que un programa le pida datos a otro a través de internet. No hace falta programar para entender cómo funciona. Basta con imaginar una red de metro en la que cada estación es un dato y cada billete dice qué quieres hacer con él.

Qué es una API REST y qué significa

Una API (interfaz de programación de aplicaciones) es un conjunto de reglas para que dos programas se entiendan. REST son las siglas de Representational State Transfer, «transferencia de estado representacional», un estilo de arquitectura que describió Roy Fielding en su tesis doctoral del año 2000. Una API REST, o API RESTful, es la que sigue ese estilo.

La idea central es sencilla: todo lo que la API ofrece se trata como un recurso (un artículo, un usuario, un pedido) con su propia dirección web, y el cliente usa los métodos de HTTP, los mismos que usa el navegador, para leerlo, crearlo, cambiarlo o borrarlo. La respuesta suele llegar en JSON, un formato de texto ligero que cualquier lenguaje de programación sabe leer.

REST no es un programa ni un protocolo que se instala: es una manera de diseñar. Por eso dos API REST pueden parecerse mucho aunque estén escritas en lenguajes distintos.

Cómo funciona una petición, paso a paso

Cuando una aplicación consulta una API REST ocurre siempre lo mismo, en este orden:

  1. El cliente prepara la petición. Elige la dirección del recurso (por ejemplo, https://api.ejemplo.com/v1/pedidos/42) y el método, como GET para leer.
  2. Añade cabeceras. Indica qué formato acepta, quién es (una clave o un token de acceso) y, si envía datos, en qué formato van.
  3. El servidor busca la ruta. Comprueba qué código atiende esa dirección con ese método y si el cliente tiene permiso.
  4. Responde con un código de estado y los datos. Un 200 si todo ha ido bien, un 404 si el recurso no existe, un 401 si falta identificarse.

Cada petición es independiente: el servidor no recuerda la anterior. Si necesita saber quién eres, se lo dices en cada viaje, igual que se valida el billete en cada torno.

Los seis principios de REST

Fielding definió unas restricciones que una arquitectura debe cumplir para considerarse REST. Conviene conocerlas porque explican por qué estas API escalan tan bien:

Principio Qué significa en la práctica
Cliente-servidor La interfaz que ve el usuario y el almacenamiento de datos están separados y pueden evolucionar por su cuenta.
Sin estado Cada petición lleva toda la información necesaria; el servidor no guarda sesiones entre una y otra.
Caché Las respuestas indican si se pueden guardar y reutilizar, lo que ahorra viajes repetidos.
Interfaz uniforme Recursos identificados por su dirección y manipulados siempre con los mismos métodos estándar.
Sistema por capas Entre cliente y servidor puede haber balanceadores, cachés o pasarelas sin que el cliente lo note.
Código bajo demanda Opcional: el servidor puede enviar código para que lo ejecute el cliente.

Métodos HTTP de una API REST

Los métodos son los verbos de la conversación. Con cinco se cubre casi todo:

Método Para qué se usa Respuesta habitual ¿Repetirlo cambia algo?
GET Leer un recurso o una lista 200 OK No
POST Crear un recurso nuevo 201 Created Sí, crea otro
PUT Sustituir un recurso completo 200 OK No
PATCH Cambiar solo algunos campos 200 OK Depende
DELETE Eliminar un recurso 204 No Content No

La última columna es lo que los desarrolladores llaman idempotencia: si una petición GET, PUT o DELETE se envía dos veces por un fallo de red, el resultado final es el mismo. Con POST no, y por eso los formularios de pago avisan de que no pulses dos veces.

Códigos de estado que conviene reconocer

El número de tres cifras que devuelve el servidor resume lo que ha pasado. La primera cifra marca la familia:

  • 2xx, éxito: 200 (correcto), 201 (creado), 204 (hecho, sin contenido que devolver).
  • 3xx, redirección: 301 (el recurso se ha mudado para siempre), 304 (no ha cambiado, usa tu copia).
  • 4xx, error del cliente: 400 (petición mal formada), 401 (falta identificarse), 403 (identificado pero sin permiso), 404 (no existe), 429 (demasiadas peticiones).
  • 5xx, error del servidor: 500 (fallo interno), 503 (servicio no disponible por el momento).

Cómo se diseñan las rutas de una API REST

Una buena ruta se lee como el cartel de una estación: dice dónde estás sin necesidad de explicaciones. Estas son las normas que siguen la mayoría de equipos:

  • Sustantivos en plural, sin verbos: /articulos y no /obtenerArticulos. El verbo ya lo pone el método.
  • Jerarquía con barras: /autores/7/articulos devuelve los artículos del autor 7.
  • Filtros en la cadena de consulta: /articulos?categoria=tecnologia&pagina=2.
  • Versión visible: /v1/ al principio permite cambiar la API sin romper las aplicaciones que ya la usan.
  • Minúsculas y guiones: más fáciles de leer y de escribir sin errores.

En frameworks como ASP.NET Core, Spring o Laravel la ruta se puede escribir justo encima del método que la atiende. Es lo que se llama enrutamiento por atributos:

[HttpGet("api/v1/articulos")]          // lista de artículos
[HttpGet("api/v1/articulos/{id}")]     // un artículo
[HttpPost("api/v1/articulos")]         // crea uno nuevo
[HttpDelete("api/v1/articulos/{id}")]  // lo elimina

La ventaja es que quien lee el código ve a la vez la dirección y lo que ocurre al llamarla, sin buscar en una tabla de rutas aparte.

Portátil con código de programación de una API REST en pantalla
Código de una API REST en un portátil

Un ejemplo de API REST con respuesta real

Supongamos una pequeña API de una biblioteca. Para consultar un libro, el cliente envía:

GET /v1/libros/1984 HTTP/1.1
Host: api.biblioteca-ejemplo.com
Accept: application/json

Y el servidor contesta:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1984,
  "titulo": "Manual de redes",
  "disponible": true,
  "enlaces": { "autor": "/v1/autores/31" }
}

Fíjate en el campo enlaces: indica dónde seguir el viaje. Cuando una API incluye estos enlaces en sus respuestas se acerca al ideal de REST, porque el cliente descubre el camino sin tenerlo memorizado.

API REST frente a SOAP y GraphQL

REST SOAP GraphQL
Qué es Estilo de arquitectura Protocolo con reglas estrictas Lenguaje de consultas
Formato Normalmente JSON XML JSON
Puntos de acceso Uno por recurso Uno por servicio Normalmente uno solo
Cuándo encaja Servicios web y apps en general Banca, sistemas heredados, contratos formales Pantallas que combinan muchos datos

GraphQL, creado en Facebook y publicado en 2015, deja que el cliente pida exactamente los campos que necesita en una sola consulta. REST sigue siendo la opción más común porque es sencilla, aprovecha la caché de HTTP y casi cualquier herramienta la entiende.

Seguridad y buenas prácticas

  • Siempre por HTTPS, para que nadie lea ni altere los datos por el camino.
  • Autenticación con tokens (OAuth 2.0 o claves de API) en las cabeceras, nunca en la dirección.
  • Límites de uso que respondan con 429 cuando alguien hace demasiadas peticiones.
  • Validar todo lo que llega antes de guardarlo, aunque el cliente sea tu propia aplicación.
  • Documentar cada ruta con un estándar como OpenAPI, para que otros puedan usarla sin adivinar.

Preguntas frecuentes

¿Qué diferencia hay entre una API y una API REST?

Toda API REST es una API, pero no al revés. «API» es cualquier interfaz entre programas; una API REST es la que se diseña sobre HTTP con recursos, direcciones propias y métodos estándar.

¿Qué diferencia hay entre REST y RESTful?

En la práctica se usan como sinónimos. REST es el estilo de arquitectura y RESTful es el adjetivo para una API que lo cumple.

¿Una API REST tiene que usar JSON?

No es obligatorio. Puede devolver XML, texto o imágenes, pero JSON se ha impuesto por ser ligero y fácil de leer.

¿Para qué sirve una API REST en el día a día?

Para que aplicaciones distintas compartan datos: la app del banco con sus servidores, una tienda con su pasarela de pago o un panel con los datos de analítica de una web.

¿Qué es el enrutamiento por atributos?

Es definir la ruta de cada punto de acceso con un atributo escrito sobre el propio método, en lugar de en una tabla de rutas central. ASP.NET MVC y Web API lo incorporaron de serie en 2013 y hoy es la forma habitual de trabajar en ASP.NET Core.

Sigue el trayecto en el blog

Cómo evitar que tu perro se pierda: medidas prácticas dentro y fuera de casa Cómo organizar tus finanzas personales antes de invertir Cómo divertirse por la noche en Alicante y cerrar la velada con buen sabor Cómo se calcula la renta vitalicia y qué debe tener un buen simulador