Cuando usar una REST API

Alejandro Celada

Alejandro Celada

Cuando usar una REST API
Un Web API es una interfaz de programación de aplicaciones que se accede a través de internet utilizando tecnologías web, mientras que un REST API es un tipo específico de Web API que sigue las restricciones y las mejores prácticas definidas por el estilo arquitectónico REST. Sin embargo, los términos "Web API" y "REST API" a menudo se utilizan indistintamente, y muchos APIs que se acceden a través de internet utilizando HTTP se denominan simplemente "Web APIs", independientemente de si se adhieren al estilo arquitectónico REST.
Cuándo usar:
Dependiendo de nuestras necesidades, tendremos que elegir el tipo de metodología o arquitectura que deseamos aplicar a nuestro proyecto. Aquí podemos ver cuándo es más interesante usar uno u otro.
Utilizaremos esta arquitectura de API para proporcionar datos solicitados para un cliente. Para eso, generalmente recomendamos GraphQL, pero hay ciertos criterios en los que REST puede ser superior. Cuando:
  • Se extiende una API que es REST y la conversión es costosa.
  • REST caché. Fácilmente cacheable desde el servidor o incluso localmente.
  • Se requieren cargas de archivos, se admite de forma nativa.
  • Cuando se necesita admitir al mismo tiempo múltiples versiones de API
  • Cuando se necesita monitoreo y reporte de errores. Usando códigos HTTPS (por ejemplo, 404 o 500). En GraphQL no se tiene eso, porque siempre devuelve una respuesta de estado 200 OK en caso de algún error, deberá mirar el cuerpo de la respuesta.
  • Cuando solo se quiere que el cliente (móvil o web) tenga acceso a un dato en particular con un esquema fijo y no permita hacer consultas en los datos. Incluso con el riesgo de sufrir sub-solicitudes o sobre-solicitudes.
  • Si desea que los motores de búsqueda indexen su URL (diferentes puntos finales por recurso)
Cuándo no usar:
Es importante mencionar que REST solo se utiliza para operaciones CRUD en los datos. Nunca se puede emplear para invocar acciones sobre otros sistemas, por ejemplo, /resouce/id/doSomething, ya que no cumpliría con las restricciones REST.

Otras opciones

Recordemos que hay otras opciones a las REST APIs. Tenemos que preguntarnos:

  • ¿Cómo se elige qué estilo de API usar?
  • ¿Qué estilo de API es el más adecuado para un caso de uso dado?

GraphQL

GraphQL es la opción de estilo de API predeterminada para las API orientadas a la interfaz de usuario.

Mensajería asíncrona (Async Messaging)

Async Messaging es una buena opción para las API que no necesitan responder a una solicitud de inmediato.