Junior
¿Qué API se puede llamar RESTful?
sobes.tech AI
Respuesta de la IA
Las API RESTful cumplen con los principios del estilo arquitectónico REST:
- Cliente-servidor: Separación de responsabilidades entre el cliente, que solicita recursos, y el servidor, que los proporciona.
- Sin estado (Stateless): Cada solicitud del cliente al servidor debe contener toda la información necesaria para procesarla. El servidor no mantiene estado de la sesión del cliente.
- Cacheable: El servidor debe indicar explícitamente o implícitamente si las respuestas pueden ser almacenadas en caché por el cliente o intermediarios.
- Sistema en capas: El cliente no puede distinguir entre una llamada directa al servidor y una a través de capas intermedias (proxy, balanceadores de carga, etc.).
- Código a petición (opcional): El servidor puede extender temporalmente la funcionalidad del cliente transmitiendo código ejecutable (por ejemplo, JavaScript).
- Interfaz uniforme: El principio más importante de las API RESTful. Consta de cuatro restricciones:
- Identificación de recursos: Los recursos 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, en formato JSON, XML).
- Mensajes auto-descriptivos: Cada mensaje contiene suficiente información para ser procesado, incluyendo metadatos sobre cómo procesar el mensaje y el recurso.
- HATEOAS (Hypermedia as the Engine of Application State): El servidor debe incluir enlaces en sus respuestas que permitan al cliente descubrir acciones disponibles y navegar entre estados de la aplicación. Este es el principio menos frecuentemente cumplido.
Las API RESTful utilizan métodos HTTP estándar (GET, POST, PUT, DELETE, PATCH) para operaciones sobre recursos identificados por URI.
Por ejemplo, una solicitud GET a /api/users/123 obtiene la representación del usuario con ID 123.