MÉTODO QUERY PARA APIS: CÓMO UTILIZARLO

Hasta ahora, los desarrolladores se enfrentaban a un dilema constante:
  • Usar GET: Ideal para consultas, pero no permite enviar un body, o no está bien definido. Además, las URLs complejas se vuelven excesivamente largas y poco prácticas.
  • Usar POST: Permite enviar cuerpos complejos, pero no es semánticamente correcto para operaciones de solo lectura, pierde las ventajas de idempotencia y caché, y no comunica claramente que la operación es segura.

Características principales de QUERY

Según la especificación, el método QUERY es:
  • Seguro: No modifica recursos en el servidor.
  • Idempotente: Repetir la misma petición produce el mismo resultado.
  • Cacheable: Las respuestas pueden ser almacenadas en caché.
  • Permite body: Puedes enviar datos complejos en el cuerpo de la petición.
Esto lo convierte en el método perfecto para consultas complejas que requieren filtros avanzados, búsquedas con múltiples parámetros, rangos, agregaciones, etc.

Comparativa rápida

Característica GET POST QUERY (Nuevo)
Safe (no modifica) No
Idempotente No
Cacheable Solo en casos especiales
Permite Body Limitado / No recomendado
Uso recomendado Consultas sencillas Creación / Operaciones Consultas complejas

Ejemplos

GET tradicional

GET /products?category=laptops&brand=dell

QUERY

QUERY /products
{
  "category": "laptops",
  "brands": ["Dell", "Lenovo"],
  "price": {
    "min": 500,
    "max": 1500
  },
  "rating": { "min": 4 }
}