Filtrado, paginación y clasificación

La API de Control Room admite el filtrado, la paginación y la clasificación de los puntos finales que devuelven matrices de recursos.

El mecanismo de filtrado filtra los recursos requeridos, el mecanismo de clasificación coloca los recursos en orden, y el mecanismo de paginación devuelve entonces un rango específico de esos recursos ordenados. Este tema le proporciona los detalles para filtrar y ordenar los resultados de una solicitud de API y también lo guía para manejar la paginación de conjuntos grandes de resultados devueltos desde una solicitud de API.
Nota:
  • La clasificación y el filtrado son compatibles con las subcadenas. Por ejemplo, si desea buscar bots o archivos que tengan fin en sus nombres, ingrese fin como criterio de búsqueda. Se mostrarán todos los bots y los archivos que contengan fin en los nombres, por ejemplo, Finanzas, Finder, DeltaFinance y Dolfin.
  • Los comodines no son compatibles para buscar ni filtrar bots ni archivos.

Filtrado

El filtrado le permite aplicar una condición booleana a una colección de recursos devueltos con el fin de hacer un subconjunto de la colección solo con aquellos recursos para los que la condición es true. La operación más básica en filtros de una API de Control Room es comparar un campo con un valor determinado. Es posible usar comparación de igualdad, comparación de rangos o lógica. Utilice los siguientes operadores para comparar un campo con un valor constante.
Operación Descripción Ejemplo:
Comparación de la igualdad
eq Es igual a UserEmailAddress, eq first.last@aa.com
ne No es igual UserEmailAddress, ne first.last@aa.com
Comparación de rango
lt Menor que Cantidad lt 1500
le Menor que o igual a Cantidad le 1500
ge Mayor que o igual a CreatedDateUtc ge 2021-03-15
gt Mayor que CreatedDateUtc gt 2021-03-15
Lógica
y Y Field1 eq 'abc' y Field2 eq 'def'
o O Field1 eq 'abc' o Field2 eq 'def'
El parámetro de orden filter permite aplicar a una solicitud filtros básicos, múltiples y orientados de convención. Los filtros de las API de Control Room se aplican con uno o varios parámetros.

Filtro de parámetro único

El filtro de parámetro único permite que la solicitud de la API seleccione las respuestas haciendo coincidir uno o varios miembros de la respuesta con el valor aprobado en la consulta. El filtro de parámetro único se representa en la siguiente imagen:
Filtro de parámetro único

El equivalente JSON de la imagen anterior (Filtro de parámetro único) tiene el siguiente aspecto:
{
  "filter": {
    "operator": "<NONE, lt, le, eq, ne, ge, gt, substring, and, or, not>",
    "field": "string",
    "value": "string"
  }
}

Por ejemplo, para poner en una lista todos los grupos de dispositivos que tienen una subcadena finance, utilice el siguiente filtro de parámetro único:

POST http://{{ControlRoomURL}}/v2/devices/pools/list
{
   "filter":{
      "operator":"substring",
      "field":"name",
      "value":"finance"
   }
}

Para obtener una muestra más detallada de un filtro de parámetro único, consulte API de grupos de dispositivos.

Filtro de varios parámetros

El filtro de varios parámetros le permite filtrar los resultados basándose en la combinación de varias condiciones envueltas en operandos lógicos and y or.
  • and: Operador binario que evalúa para true si todas las condiciones de los operandos se evalúan para true.
    Filtro de varios parámetros - AND
  • or: Operador binario que evalúa para true si al menos una de las condiciones de los operandos se evalúa para true.
    Filtro de varios parámetros - OR
El equivalente JSON de la imagen anterior (filtro de varios parámetros) tiene el siguiente aspecto:
{
  "filter": {
    "operator": "<and, or>",
    "operands": [
      {
        "operator": "<NONE, lt, le, eq, ne, ge, gt, substring, and, or, not>",
        "field": "string",
        "value": "string"
      },
      {
        "operator": "<NONE, lt, le, eq, ne, ge, gt, substring, and, or, not>",
        "field": "string",
        "value": "string"
      }
    ]
  }
}

Por ejemplo, para poner en una lista todos los roles que tienen una subcadena Device, createdOn es posterior a 2022-04-01 y createdOn es anterior a 2022-05-31, utilice el filtrado de varios parámetros con el operador lógico add de la siguiente manera:

POST http://{{ControlRoomURL}}//v1/usermanagement/roles/list
{
   "filter":{
      "operator":"and",
      "operands":[
         {
            "operator":"substring",
            "field":"name",
            "value":"Device"
         },
         {
            "operator":"gt",
            "field":"createdOn",
            "value":"2022-04-01T00:00:00.989Z"
         },
         {
            "operator":"lt",
            "field":"createdOn",
            "value":"2022-05-31T23:00:00.123Z"
         }
      ]
   }
   }

Para obtener una muestra más detallada de un filtro de parámetro único, consulte API de administración de usuarios.

Paginación

La paginación permite:
  • Recuperar una colección limitada de resultados.
  • Compensar una colección de resultados.
Están paginadas todas las API de Control Room que devuelven una colección de registros. Los métodos de la API compatibles con la paginación toman dos parámetros (opcionales):
Operación Descripción
compensación El parámetro desplazamiento controla el punto de partida dentro de la colección de resultados de la respuesta. El valor predeterminado es 0.
length El parámetro longitud corresponde a la cantidad máxima de registros que se recuperan a partir del desplazamiento. El valor predeterminado es 200.
El fragmento JSON para la paginación tiene el siguiente aspecto:
"page":{ 
    "offset":5,
    "length":10
    }

Para obtener una muestra más detallada de un filtro de parámetro único, consulte API de administración de usuarios.

Clasificación

La clasificación permite ordenar los resultados por campo, en orden ascendente o descendente. Por ejemplo, si está devolviendo los roles, puede ordenar los roles según la última fecha de modificación.

 "sort": [
    {
      "field": "string",
      "direction": "<asc, desc>"
    }

Dirección

Tipo: Enum [desc, asc ]

  • asc = ascendente (menor a mayor, 0 a 9, A a Z)
  • desc = descendente (mayor a menor, 9 a 0, Z a A)

Para obtener una muestra más detallada de un filtro de parámetro único, consulte API de administración de usuarios.