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.