Home > Software engineering >  How to limit the axios get request results
How to limit the axios get request results

Time:04-26

I am trying use an axios request to fetch data from github api, but for some reason _limit is not returning the limited number of results?

await axios.get(`https://api.github.com/users/freeCodeCamp/repos?_limit=10`)
            .then(
                (res) => {
                    console.log(res.data);
                    
                }
            )

The following http request is working perfectly by limiting the results

https://jsonplaceholder.typicode.com/todos?_limit=2

Whereas the following http request is not limiting the data

https://api.github.com/users/freeCodeCamp/repos?_limit=2

What's the difference between the above two requests?

CodePudding user response:

The _limit parameter you see in https://jsonplaceholder.typicode.com is specific to their json-server software.

From the Github REST API documentation, you want to use the per_page parameter

const { data } = await axios.get("https://api.github.com/users/freeCodeCamp/repos", {
  params: {
    per_page: 10
  }
})

My general advice for using any REST API... always read the documentation specific to the resource you're consuming.


Sorting options for API results are limited to created, updated, pushed and full_name (default). If you want to sort by something else, you'll need to do that client-side, eg

data.sort((a, b) => a.stargazers_count - b.stargazers_count);

CodePudding user response:

For GitHub, the correct property is per_page.

Just bear in mind that limiting results has nothing to do with Axios or any front-end tool. It is a backend implementation, and any backend developer is free to do it the way they want. Although there are some standards, such as cursor pagination.

In a real project, the backend and frontend developer would have a "contract" for how this would work, so both know how the property will work.

  • Related