Estoy tratando de usar una solicitud de axios para obtener datos de la API de github, pero por alguna razón, ¿_limit no devuelve la cantidad limitada de resultados?
await axios.get(`https://api.github.com/users/freeCodeCamp/repos?_limit=10`) .then( (res) => { console.log(res.data); } )La siguiente solicitud http funciona perfectamente al limitar los resultados
https://jsonplaceholder.typicode.com/todos?_limit=2
Mientras que la siguiente solicitud http no limita los datos
https://api.github.com/users/freeCodeCamp/repos?_limit=2
¿Cuál es la diferencia entre las dos solicitudes anteriores?
El parámetro _limit que ve en https://jsonplaceholder.typicode.com es específico de su software de servidor json .
De la documentación de la API REST de Github , desea usar el parámetro per_page
const { data } = await axios.get("https://api.github.com/users/freeCodeCamp/repos", { params: { per_page: 10 } })Mi consejo general para usar cualquier API REST... Siempre lea la documentación específica del recurso que está consumiendo.
Las opciones de clasificación de los resultados de la API se limitan a created , updated , full_name pushed predeterminado). Si desea ordenar por otra cosa, deberá hacerlo del lado del cliente, por ejemplo
data.sort((a, b) => a.stargazers_count - b.stargazers_count);Para GitHub, la propiedad correcta es per_page .
Solo tenga en cuenta que limitar los resultados no tiene nada que ver con Axios ni con ninguna herramienta de front-end. Es una implementación de back-end, y cualquier desarrollador de back-end es libre de hacerlo de la forma que quiera. Aunque existen algunos estándares, como la paginación del cursor .
En un proyecto real, el desarrollador backend y frontend tendrían un "contrato" sobre cómo funcionaría esto, por lo que ambos saben cómo funcionará la propiedad.