que están teniendo una búsqueda/lista de recursos:REST API de paginación: hacer que la página de tamaño un parámetro (configurable desde el exterior)
Internamente, el tamaño de página es estática y devuelve 20 artículos. El usuario puede avanzar aumentando el número de página. Pero para ser más flexible que ahora estamos pensando también para exponer el tamaño de una página:
http://xxxx/users/?page=1&size=20
Como tal, esto es flexible como el cliente ahora puede decidir network-llamadas vs tamaño de la respuesta, cuando se busca. Por supuesto, esto tiene el inconveniente de que el servidor podría ser un duro golpe, ya sea por accidente o maliciosly a propósito: http://xxxx/users/?page=1&size=1000000
Para robustez de la solución podría ser la de configurar un límite superior de tamaño de página (por ejemplo, 100) y cuando se excede o bien representan una respuesta de error o un redireccionamiento HTTP a la URL con el parámetro de tamaño de página más alto posible.
¿Qué opinas?
estoy más preocupado de que se genere una carga útil innecesaria y se desperdicie ancho de banda. Asegúrese de que la aplicación no fallará, pero causará una carga innecesaria en el backend de búsqueda y en la creación de respuestas xml/json. en mi opinión, enviar tamaño = 1000000 es bastante extraño y es accidental o malicioso. seguro, se incluyen los enlaces de paginación :) –
Entendido - pero para alguien que hace minería de datos u otras acciones que necesitan un gran conjunto de datos, puedo ver que está sucediendo. Honestamente lanzaría una mala solicitud (400), con un mensaje de error que indicaba el tamaño máximo de página. Al devolver cierta cantidad de artículos definidos por el servidor se verá al usuario como si pidieran 100000 pero obtuvieron 200, lo que probablemente pensará significa que solo hay 200 artículos para encontrar. – Gandalf
Si devuelve los enlaces de búsqueda siguiente/anterior, debe quedar claro que hay más datos. – Nate