Principios de Diseño RESTful
Este artículo es una explicación de conceptos sobre principios de diseño RESTful, incluyendo preguntas de examen, puntos clave y etiquetas.
En Pocas Palabras
REST (Representational State Transfer) es un enfoque arquitectónico para APIs basadas en HTTP: métodos claros, URIs de recursos, códigos de estado y ausencia de estado.
Descripción Técnica Compacta
REST utiliza métodos HTTP para CRUD:
- GET: leer
- POST: crear
- PUT: reemplazar completamente
- PATCH: modificar parcialmente
- DELETE: eliminar
REST sigue el principio de ausencia de estado: cada solicitud contiene toda la información necesaria; el servidor no almacena estado de sesión.
La idempotencia es importante para reintentos:
- idempotente: GET, PUT, DELETE
- no necesariamente idempotente: POST, PATCH
Los resultados se comunican mediante códigos de estado (por ejemplo, 200, 201, 404, 500). Los formatos de datos comunes son JSON/XML.
Puntos Clave Relevantes para Examen
- Métodos HTTP para CRUD
- REST es sin estado
- Idempotencia: las repeticiones no deben duplicar efectos secundarios
- URIs de recursos, por ejemplo
/api/users/123 - Códigos de estado (200, 201, 404, 500) (relevante para IHK)
- PATCH modifica solo campos parciales
- Seguridad: HTTPS, autenticación por token, CORS
- Documentación: OpenAPI/Swagger (requisito de documentación)
Componentes Principales
- Métodos HTTP
- Convenciones de URI de recursos
- Códigos de estado (2xx/4xx/5xx)
- Conformidad REST (Richardson)
- Reglas de idempotencia
- Ausencia de estado
- Content Negotiation (Accept/Content-Type)
- JSON/XML
- Autenticación (Bearer/API-Key)
- OpenAPI/Swagger
Ejemplo Práctico (API de Usuarios)
GET /users
POST /users
GET /users/1
PUT /users/1
PATCH /users/1
DELETE /users/1
Ventajas y Desventajas
Ventajas
- Simple, fácil de entender
- Protocolo estándar (HTTP)
- Independiente de plataforma y lenguaje
- Escalable
Desventajas
- Sin gestión de sesiones integrada
- Puede volverse “chatty” (muchas solicitudes)
- Para operaciones complejas se necesita un modelado limpio
Preguntas Típicas de Examen (con Respuesta Corta)
- ¿Qué significa sin estado? El servidor no almacena estado de sesión; la solicitud debe ser completa.
- ¿Cuáles son los métodos idempotentes? GET, PUT, DELETE.
- ¿PUT vs PATCH? PUT reemplaza completamente, PATCH solo campos parciales.
- ¿Qué significa 201? La recurso fue creada.
Respuesta Libre
REST es la columna vertebral de las APIs web modernas. En exámenes y proyectos, debes documentar los endpoints de forma clara, elegir los métodos correctamente y aplicar códigos de estado apropiadamente.
Estrategia de Aprendizaje
- Prueba la API con Postman/curl.
- Construye una mini-API con rutas CRUD.
- Memoriza métodos, códigos de estado e idempotencia.
- Usa PUT/DELETE solo de forma idempotente.
Análisis del Tema
- Núcleo: HTTP, diseño de URI, JSON
- Desafíos: versionado, manejo de errores, autenticación
- Seguridad: control de acceso, cifrado, CORS
- Documentación: OpenAPI, ejemplos, catálogo de errores
- Economía: la estandarización ahorra tiempo
Información Adicional
- https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design
- https://developer.mozilla.org/de/docs/Web/HTTP/Methods
- https://restfulapi.net/
- https://swagger.io/specification/



