Filtrado de respuestas en la API de Reactor
Al utilizar puntos finales de lista (GET) en la API de Reactor, es posible que necesite limitar los resultados devueltos a un subconjunto de registros. Para ello, muchos de los puntos finales de lista de la API admiten la capacidad de filtrar por atributos específicos. Si desea realizar consultas estructuradas a la API en su lugar, consulte la guía sobre búsqueda.
Filtrado de sintaxis
En el siguiente ejemplo se explica cómo implementar filtros para las solicitudes de GET.
Formato de API
Para filtrar la respuesta de un extremo de lista determinado, debe proporcionar un parámetro de consulta filter
en la ruta de solicitud.
[]
) y caracteres de espacio para facilitar la lectura. En la práctica, estos caracteres deben contar con cifrado de URI, tal como se describe en RFC 3986. Más adelante en esta guía se muestra un ejemplo de una ruta de solicitud cifrada correctamente.GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
{ENDPOINT}
{ATTRIBUTE_NAME}
{OPERATOR}
{VALUE}
proporcionado. Los operadores admitidos se enumeran en la sección apéndice.{VALUE}
EQ
, el valor debe ser una coincidencia exacta que distinga entre mayúsculas y minúsculas para que se incluya en la respuesta.Solicitud
La solicitud de ejemplo siguiente recupera una lista de bibliotecas publicadas aplicando un filtro que requiere que el atributo state
de la biblioteca sea igual a published
.
Antes del cifrado de URI, la sintaxis de este filtro en la ruta de solicitud sería similar a la siguiente:
https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter[state]=EQ published
Una vez que la ruta y los parámetros de consulta han sido cifrados con URI, pueden utilizarse en solicitudes de API como la que se muestra a continuación:
curl -X GET \
https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter%5Bstate%5D=EQ%20published \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
Filtrado en varios valores multiple-values
Para filtrar por varios valores para un único atributo, proporcione los valores como una lista separada por comas.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE_1},{VALUE_2}
Uso de varios filtros
Para aplicar filtros para varios atributos, proporcione un parámetro filter
para cada atributo. Los parámetros deben separarse con caracteres ampersand (&
).
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME_1}]={OPERATOR} {VALUE}&filter[{ATTRIBUTE_NAME_2}]={OPERATOR} {VALUE}
Apéndice
La siguiente sección contiene información adicional para trabajar con filtros en la API de Reactor.
Operadores de filtro admitidos operators
En la tabla siguiente se enumeran los valores de operador admitidos como parámetros de filtro. Tenga en cuenta que, según el atributo por el que filtre, no todos los operadores de filtro disponibles serán aplicables, como el uso de operadores “menor que” o “mayor que” para atributos de cadena.
EQ
NOT
LT
GT
BETWEEN
CONTAINS