En el desarrollo de APIs REST, tanto las queries como los paths tienen sus usos específicos y sus ventajas. A continuación, te doy una guía sobre cuándo deberías usar cada uno:
Usar Paths
Los paths se usan para identificar recursos específicos o colecciones de recursos. Se utilizan en la URL para definir una jerarquía clara y estructurada de los recursos. Algunas reglas comunes para el uso de paths incluyen:
- Recursos específicos:
- Cuando necesitas acceder, actualizar o eliminar un recurso específico.
- Ejemplo:
/usuarios/123
accede al usuario con el ID 123.
- Colecciones de recursos:
- Para acceder a una colección de recursos.
- Ejemplo:
/usuarios
accede a la colección de todos los usuarios.
- Relaciones jerárquicas:
- Para reflejar relaciones jerárquicas entre recursos.
- Ejemplo:
/usuarios/123/ordenes
accede a todas las órdenes del usuario con el ID 123.
- Operaciones de sub-recursos:
- Cuando se necesita realizar operaciones en sub-recursos.
- Ejemplo:
/usuarios/123/ordenes/456
accede a la orden 456 del usuario 123.
Usar Queries
Las queries se utilizan para modificar la representación de un recurso o para realizar búsquedas y filtrados en colecciones. Se pasan como parámetros de la URL y permiten especificar condiciones o modificar el comportamiento de la solicitud. Algunas reglas comunes para el uso de queries incluyen:
- Filtrado de colecciones:
- Para filtrar resultados basados en ciertos criterios.
- Ejemplo:
/usuarios?edad=30
obtiene todos los usuarios con edad 30.
- Paginación:
- Para dividir los resultados en páginas.
- Ejemplo:
/usuarios?page=2&limit=10
obtiene la segunda página de resultados con 10 usuarios por página.
- Ordenación:
- Para especificar el orden en que se deben devolver los resultados.
- Ejemplo:
/usuarios?sort=nombre
ordena los usuarios por nombre.
- Búsqueda:
- Para realizar búsquedas complejas en una colección.
- Ejemplo:
/productos?nombre=televisor&marca=Samsung
busca productos con nombre «televisor» y marca «Samsung».
- Opciones de proyección:
- Para seleccionar qué campos deben ser devueltos.
- Ejemplo:
/usuarios?fields=nombre,apellido
devuelve solo los campos nombre y apellido de los usuarios.
Ejemplos Prácticos
- Acceder a un recurso específico:
GET /usuarios/123
- Filtrar recursos en una colección:
GET /usuarios?ciudad=Madrid
- Realizar una operación en un sub-recurso:
DELETE /usuarios/123/ordenes/456
- Paginar y ordenar una colección:
GET /productos?categoria=electrodomesticos&sort=precio&order=desc&page=2&limit=10
Paths: Se usan para identificar recursos y su jerarquía.
- Queries: Se usan para modificar la representación de los recursos o para realizar búsquedas y filtrados.
Usar estos elementos correctamente hace que tu API REST sea más intuitiva, fácil de usar y de mantener.
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.