Repaso
English
Backend y APIsIntermedioAPI-29

Diseña una API REST para un recurso de reservas (habitaciones de hotel). ¿Qué endpoints, códigos y aspectos cuidarías?

Respuesta

  • Recursos: GET /rooms?from=&to= (disponibilidad), POST /bookings (201 + Location), GET /bookings/{id}, PATCH /bookings/{id} (cambiar fechas), POST /bookings/{id}/cancel o DELETE (200/204).
  • Errores: 400/422 validación, 401/403 autenticación, 404 no existe, 409 conflicto (habitación ya reservada), 429 rate limit.
  • Concurrencia: evita la doble reserva con una restricción en la base de datos o una transacción con lock de fila o comprobación de versión.
  • Idempotency-Key en POST; paginación por cursor en listas; parámetros de filtro y orden.
  • Autenticación (OAuth/JWT), comprobaciones de propiedad, formato de error coherente, versionado /v1, documentación OpenAPI.

Términos clave

Practica esta pregunta en Repaso