11-API-APIREST

 

API (General)

Es un término amplio que significa "Interfaz de Programación de Aplicaciones". Es cualquier forma de que dos sistemas se comuniquen entre sí.

Características:

  • Puede usar diferentes protocolos (HTTP, SOAP, gRPC, etc.)

  • No sigue reglas específicas de diseño

  • Puede usar autenticación variada (token básico, API keys, etc.)

API REST

Es un tipo específico de API que sigue ciertas reglas de diseño (principios REST).

Características principales:

  1. Usa HTTP completamente (métodos GET, POST, PUT, DELETE)

  2. Sin estado (cada solicitud es independiente)

  3. Recursos identificables (URLs como /users/123)

  4. Representaciones (JSON, XML, etc.)

  5. Hipermedia (idealmente, enlaces entre recursos)

Tu confusión sobre autenticación

No es correcto que la diferencia sea solo la autenticación. La autenticación es independiente del tipo de API:

Ejemplo de autenticación:

  • API tradicional: Puede usar token JWT con expiración

  • API REST: Puede usar API key simple sin expiración

La diferencia real es el estilo arquitectónico:

text
API REST = API que sigue las reglas REST
API = Cualquier interfaz de comunicación

Analogía:

  • API = "Vehículo" (término general)

  • API REST = "Automóvil con transmisión manual y 4 puertas" (tipo específico con reglas)

Resumen visual

text
TODAS las API REST son APIs
↓
Pero NO todas las APIs son REST

¿Quieres que te explique con ejemplos prácticos de código para ver la diferencia en acción?

Comentarios