Sobes.tech
Junior

¿Qué es una API REST?

sobes.tech AI

Respuesta de la IA

REST API es un estilo arquitectónico para construir sistemas distribuidos. Los principios básicos de REST:

  • Sin estado: Cada solicitud del cliente al servidor debe contener toda la información necesaria para procesarla. El servidor no guarda estado del cliente entre solicitudes.
  • Cliente-Servidor: División clara de responsabilidades entre cliente y servidor. El cliente envía solicitudes, el servidor las procesa.
  • Cacheable: El servidor debe indicar si las respuestas pueden ser almacenadas en caché por el cliente o intermediarios.
  • Sistema en capas: El cliente no necesariamente interactúa directamente con el servidor final; puede hacerlo a través de capas intermedias (proxy, balanceadores de carga).
  • Interfaz uniforme: Forma única y estandarizada de interactuar entre cliente y servidor. Este principio incluye:
    • Identificación de recursos: Los recursos (datos) se identifican mediante URL.
    • Manipulación de recursos a través de representaciones: El cliente interactúa con los recursos, obteniendo sus representaciones (por ejemplo, JSON, XML) y enviando nuevas representaciones para modificar.
    • Mensajes auto-descriptivos: Cada mensaje contiene suficiente información para entender cómo procesarlo.
    • HATEOAS (Hypertext As The Engine Of Application State): Los recursos deben contener enlaces (hipervínculos) a recursos relacionados y acciones disponibles.

REST API generalmente usa métodos HTTP estándar para realizar operaciones sobre recursos:

  • GET: Obtener un recurso o colección de recursos.
  • POST: Crear un nuevo recurso.
  • PUT: Actualización completa de un recurso existente.
  • PATCH: Actualización parcial de un recurso existente.
  • DELETE: Eliminar un recurso.

Ejemplo de representación JSON de un recurso:

{
  "id": 1, // Identificador
  "name": "Resource Name", // Nombre del recurso
  "description": "Detailed description of the resource." // Descripción del recurso
}

Las pruebas de REST API incluyen verificar:

  • Funcionalidad (correctitud de las respuestas a las solicitudes).
  • Manejo de errores.
  • Rendimiento.
  • Seguridad.
  • Conformidad con la documentación.