api-rest

Que término tan feo y tan común desde hace unos años atrás en el desarrollo de APIs, pero que fácil de entender, HATEOAS significa Hypermedia As The Engine Of Application State (Hipermedia como el motor del estado de la aplicación). Es un principio dentro del estilo arquitectónico REST (Representational State Transfer), que establece que un cliente interactúa con una aplicación a través de hipermedios proporcionados dinámicamente por las respuestas del servidor.

En otras palabras:

Cuando una API sigue el principio de HATEOAS, las respuestas contienen no solo datos, sino también enlaces (links) que indican qué acciones se pueden realizar a continuación. Esto permite que el cliente descubra la funcionalidad disponible en tiempo de ejecución, sin tener que conocer todos los endpoints de antemano.

Ejemplo clásico (sin HATEOAS):

jsonCopiarEditarGET /users/123
{
"id": 123,
"name": "Juan Pérez",
"email": "juan@example.com"
}

Con HATEOAS:

jsonCopiarEditarGET /users/123
{
"id": 123,
"name": "Juan Pérez",
"email": "juan@example.com",
"_links": {
"self": { "href": "/users/123" },
"update": { "href": "/users/123", "method": "PUT" },
"delete": { "href": "/users/123", "method": "DELETE" },
"orders": { "href": "/users/123/orders" }
}
}

Ventajas de HATEOAS:

  • Autodescubrimiento: el cliente puede descubrir recursos y operaciones disponibles sin tener documentación externa.
  • Desacoplamiento: menor dependencia entre cliente y servidor.
  • Mejora la evolución de la API: se pueden cambiar rutas y flujos sin romper a los clientes si siguen los links proporcionados.

por Alberto

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *