32. ¿Qué es una api REST?

 

¿Qué es una API y una API REST?

Introducción

¡Bienvenidos al curso! Vamos a comenzar aprendiendo qué es una API de forma gráfica y sencilla para que todos puedan comprenderlo fácilmente.


1. ¿Qué es una API?

API significa Application Programming Interface (Interfaz de Programación de Aplicaciones).

Ejemplo Práctico: Una App tipo Uber

Imaginemos que tenemos una aplicación tipo Uber (como Driver, que puedes encontrar en 469). Un ejemplo común es calcular la distancia entre un punto A y un punto B.

https://32.%2520%C2%BFQu%C3%A9%2520es%2520una%2520api%2520REST_.png

¿Por qué es importante en una app tipo Uber?

  • Para calcular el precio del viaje

  • Para determinar la ruta más eficiente

Solución: Consumir servicios de Google Maps para obtener la distancia entre dos puntos.

El Rol de la API

La API actúa como intermediario entre nuestra aplicación (Uber) y Google Maps:

text

Aplicación Uber → API → Google Maps

¿Qué sucede exactamente?

  1. Uber envía las coordenadas (punto A y B) a través de una URL (la API)

  2. Google Maps consulta su base de datos

  3. Google Maps responde con la distancia (ej: 10 km)

  4. Uber calcula el precio (ej: 10 km × 1 sol/km = 10 soles)

Ventaja: Sin la API de Google Maps, tendríamos que crear nuestro propio servicio de mapas, lo que sería costoso y complejo.


2. Conceptos Clave de una API

Cliente y Servidor

  • Cliente: Nuestra aplicación (Uber)

  • Servidor: Google Maps (provee el servicio)

La API como Interfaz

El usuario final solo ve botones y campos en la app, no sabe qué ocurre detrás:

  • No ve las coordenadas enviadas

  • No conoce los cálculos realizados

  • Solo recibe el resultado final

Comunicación Básica

text

Cliente → Petición → Servidor

Cliente ← Respuesta ← Servidor

Definición: Las APIs son interfaces que permiten que dos programas de software se comuniquen entre sí, compartiendo datos bajo ciertas reglas y estándares.


3. ¿Qué es una API REST?

https://32.%2520%C2%BFQu%C3%A9%2520es%2520una%2520api%2520REST_%2520(1).png

REST significa Representational State Transfer (Transferencia de Estado Representacional).

Historia

  • Creador: Dr. Roy Fielding (2000)

  • Documento: "Estilos de Arquitectura y el diseño de arquitecturas de Software basadas en Redes"

  • Propósito: Crear normas más flexibles que SOAP para desarrollar APIs web

Importante: REST no es una arquitectura de software, sino un conjunto de limitaciones que debes seguir al implementar tu API.


4. Principios Fundamentales de REST

https://32.%2520%C2%BFQu%C3%A9%2520es%2520una%2520api%2520REST_%2520(2).png

1. Proteger la Base de Datos

  • Nunca exponer directamente la base de datos

  • Nunca mostrar nombres de tablas o estructuras internas

  • Usar URIs como: https://maps.googleapis.com/maps/api/distancematrix/json?params

2. Buena Documentación

  • Debe ser fácil de implementar

  • Documentación clara y con ejemplos

  • Esencial si vendemos nuestra API a clientes



5. Funcionamiento de una API REST

Flujo de Comunicación

text

Cliente (App, Web) → API REST → Servidor (Base de datos)

Seguridad con API Keys

  • API Key: Llave única para identificar al cliente

  • Propósitos:

    • Identificar qué cliente está usando la API

    • Limitar peticiones (ej: 100 peticiones/mes)

    • Implementar autorizaciones

  • Importante: Toda la seguridad se maneja en el servidor

Formatos de Respuesta

  • JSON (el más común en sistemas modernos)

  • XML (usado aún en sistemas de facturación)


6. Métodos HTTP en REST

El cliente debe indicar qué acción quiere realizar:

Método

Propósito

Ejemplo

GET

Consultar datos

Buscar información

POST

Enviar/crear datos

Crear nuevo usuario

PUT

Actualizar datos

Modificar información

DELETE

Eliminar datos

Borrar registro

Ejemplo: Si el servidor recibe un GET, sabe que el cliente quiere consultar datos.


7. Códigos de Respuesta HTTP

El servidor responde con códigos que indican el resultado:

Código

Significado

Ejemplo

200

Todo salió bien

Registro exitoso

300

Redirecciones

URI cambiada a otra ubicación

400

Error del cliente

404: Recurso no encontrado

500

Error del servidor

Servidor caído


8. API RESTful

Cuando una empresa dice que usa API RESTful, significa que cumple todas las normativas REST, incluyendo:

  • Arquitectura cliente-servidor sin estado

  • Cacheable

  • Interfaz uniforme

  • Sistema en capas

  • Código bajo demanda (opcional)


Resumen

API

  • Interfaz entre dos aplicaciones

  • Permite comunicación cliente-servidor

  • Oculta la complejidad del backend

API REST

  • Conjunto de reglas para diseñar APIs web

  • Protege la base de datos

  • Requiere buena documentación

  • Usa métodos HTTP (GET, POST, PUT, DELETE)

  • Retorna códigos de estado

¡Ahora estás listo para comenzar a practicar con APIs REST! En la siguiente sección aplicaremos estos conceptos con ejercicios prácticos.



Comentarios

Entradas más populares de este blog

11. Creando un proyecto react con create-react-app

29. useEffect

38. 4 Routers