Avalados por :

Como restringir a quantidade de dados retornados com OData: $top, $skip e $count/$inlinecount - Guia completa.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...


Esta publicação do blog faz parte da série em curso "Perguntas frequentes sobre OData"



Hoje vamos ver as definições de consulta do sistema para $top, $skip para paginação e $count/$inlinecount para obter uma contagem do número de registros no conjunto de registros.




Como restringir a quantidade de dados retornados?


Isso é feito calculando um deslocamento e a quantidade de registros a serem retornados. O deslocamento é definido usando a opção de consulta do sistema $skip e a quantidade de elementos retornados através da opção de consulta do sistema $top. Se apenas os primeiros n elementos forem necessários, é suficiente omitir a diretiva $skip.



http://odata.netflix.com/v2/Catalog/Titles?$top=5 retornará os 5 primeiros elementos do catálogo de títulos na Netflix. Aqui estamos usando um $skip implícito de 0 e um $top de 5.



Compare isso com o seguinte que retorna os títulos de 1 a 6 no catálogo da Netflix



http://odata.netflix.com/v2/Catalog/Titles?$top=5&$skip=1



Aqui estamos usando um $top explícito de 1, o que significa pular o primeiro registro e depois retornar os próximos 5 registros que são os títulos 1-6 no catálogo.




Como obter o número de registros no conjunto?


Obter o número de registros em um conjunto é normalmente feito de duas maneiras, dependendo do contexto.


Usando $count


A solicitação de serviço $count retorna o número de registros em uma coleção ou, se a coleção tiver um filtro, o número de registros que correspondem ao filtro.





Por exemplo, para obter uma contagem do número de títulos que a Netflix tem armazenados, você usaria:

http://odata.netflix.com/v2/Catalog/Titles/$count



Até o momento da escrita deste texto, é relatado como 160050


Usando $inlineCount


A outra opção é usar a diretiva $inlinecount para obter a contagem como parte do corpo da resposta. Por exemplo, se você deseja ler os 5 registros mas também gostaria de saber quantos registros existem no total para que os controles de paginação e a etiqueta de contagem de registros, por exemplo, sejam atualizados, então a contagem será retornada no elemento de contagem no espaço de nomes de metadados.





<feed …. xmlns:m=" http://schemas.microsoft.com/ado/2007/08/dataservices/metadata " ...>

...

<m:count>160050</m:count>





ou em JSON





d: {

results: [.....],

"__count": "160050"

};





Por exemplo, para obter uma contagem do número de títulos que a Netflix tem disponíveis, bem como os primeiros 5 registros, você faria a solicitação

http://odata.netflix.com/v2/Catalog/Titles?$top=5&$inlinecount=allpages .



Isso retornará o mesmo número de registros que $count no elemento ou propriedade de contagem, mas apenas os primeiros 5 entidades serão retornados conforme solicitado pela opção de consulta do sistema $top. Isso é muito útil no cenário móvel onde a paginação é tipicamente usada para melhorar o desempenho. Por exemplo, podemos pegar a contagem e
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?