Una API RESTful (Representational State Transfer) es un estilo arquitectónico para diseñar servicios web que usan métodos HTTP estándar (GET, POST, PUT, DELETE) para interactuar con recursos (datos) en un servidor.
Permite la interacción entre un cliente y un servidor para la obtención de información:
el cliente (navegador, app, un software de prueba tipo Postman, Thunder,…) pide un recurso (ej: /usuarios/123) y el servidor responde con una representación de ese recurso en formato JSON o XML.
Entre los beneficios de utilizar RESTful, se encuentran, facilitar la comunicación entre sistemas, ser independiente del cliente/servidor (stateless), y permite que diferentes aplicaciones (móviles, web, etc.) accedan a los mismos datos
Por otra parte, un CRUD, como ya sabemos, es un software que cubre las cuatro operaciones fundamentales para manejar datos en una base de datos o aplicación.
Pero existe una correspondencia directa entre cada una de estas operaciones y los métodos HTTP:
Un CRUD es la base de la gestión de datos en casi cualquier aplicación, permitiendo a un usuario, generalmente autenticado y con privilegios sobre la información, muy a menudo, un admin, realizar todo tipo de operaciones de mantenimiento sobre ésta: (una tabla de datos, una vista,…)
<aside> 🔥
La relación entre ambas aplicaciones-tipo es clara, una API RESTful es una forma moderna y estandarizada de implementar las operaciones CRUD, haciendo que la gestión de datos sea predecible y escalable en el contexto de aplicaciones web y móviles
La principal diferencia, está en que, en una API RESTful, no hace falta construir vistas, pero si utilizar un formato de documento de intercambio de la información estándar. Tradicionalmente, el formato era XML, actualmente, el más utilizado es JSON
</aside>