Filtros
Algunos métodos de las APIs contienen parámetros como filter
o orderBy
con los que delimitar el conjunto de datos sobre los que operar.
La sintaxis a utilizar en estos casos es el estándar OData. Los nombres de los campos referenciados en estos parámetros son sensibles a letras mayúsculas y minúsculas. A continuación, se detalla los conectores básicos de esta sintaxis.
Expresiones comunes
Expresión | Descripción | Ejemplo |
---|---|---|
eq | Igual a | ?filter=id eq 1 Devuelve datos cuyo campo id sea igual a 1 |
ne | No igual a | ?filter=id ne 5 Devuelve datos cuyo campo id sea diferente a 5 |
Expresiones lógicas
Expresión | Descripción | Ejemplo |
---|---|---|
and | Y | ?filter=id eq 1 and name eq 'jose' Devuelve datos cuyo campo id sea igual a 1 y el campo name sea igual a 'jose' |
or | O | ?filter=id eq 1 or id eq 2 Devuelve datos cuyo campo id sea igual a 1 o 2 |
not | No | ?filter=not id eq 1 Devuelve datos cuyo campo id no sea igual a 1 |
Expresiones para operaciones con números
Expresión | Descripción | Ejemplo |
---|---|---|
lt | Menor que | ?filter=id lt 5 Devuelve datos cuyo campo id tiene un valor menor a 5 |
gt | Mayor que | ?filter=id gt 5 Devuelve datos cuyo campo id tiene un valor mayor a 5 |
ge | Mayor o igual que | ?filter=id ge 5 Devuelve datos cuyo campo id tiene un valor mayor o igual a 5 |
le | Menor o igual que | ?filter=id le 5 Devuelve datos cuyo campo id tiene un valor menor o igual a 5 |
Rango de selección | ?filter=id gt 5 and id lt 10 /Devuelve datos cuyo campo id tiene un valor entre 6 y 9 |
Expresiones para operaciones con textos
Expresión | Descripción | Ejemplo |
---|---|---|
startswith | Empieza por | ?filter=startswith(name, 'José') ?filter=startswith(name, 'José') eq true Devuelve datos cuyo campo name comienza por 'José' |
endswith | Acaba en | ?filter=endswith(name, 'García') ?filter=endswith(name, 'García') eq true Devuelve datos cuyo campo name acaba en 'García' |
contains | Contiene | ?filter=contains(name, 'Francisco') ?filter=contains(name, 'Francisco') eq true Devuelve datos cuyo campo name contiene el texto Francisco |
Expresiones para operaciones con fechas
Expresión | Descripción | Ejemplo |
---|---|---|
day | Día de la fecha | ?filter=day(dropdate, 15) Devuelve datos cuyo campo dropdate sea del día 15 |
month | Mes de la fecha | ?filter=month(dropdate, 3) Devuelve datos cuyo campo dropdate sea del mes 3 |
year | Año de la fecha | ?filter=year(dropdate, 2020) Devuelve datos cuyo campo dropdate sea del año 2020 |
Atención
- Los valores de texto se han de delimitar por comillas simples
- Los valores numéricos no es necesario delimitarlos
- Los valores de fecha deben indicarse en el formato: aaaa-mm-dd
Ejemplo
companyNumberCode eq 258 and (dropDate eq null or dropDate ge 2001-02-28)
Devuelve los trabajadores cuya empresa (companyNumberCode) sea la 258 y que hayan trabajado en ella desde la fecha 28/02/2001 (dropDate es la fecha de baja del trabajador)