如何限制axios get请求结果

How to limit the axios get request results

我正在尝试使用 axios 请求从 github api 获取数据,但出于某种原因 _limit 没有返回有限数量的结果?

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

以下 http 请求通过限制结果完美运行

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

而下面的 http 请求没有限制数据

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

以上两种请求有什么区别?

您在 https://jsonplaceholder.typicode.com is specific to their json-server 软件中看到的 _limit 参数。

来自 the Github REST API documentation,您想使用 per_page 参数

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

我对使用任何 REST 的一般建议API...总是阅读特定于您正在使用的资源的文档。


API 结果的排序选项仅限于 createdupdatedpushedfull_name(默认)。如果您想按其他方式排序,则需要这样做 client-side,例如

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

对于GitHub,正确的属性是per_page

请记住,限制结果与 Axios 或任何 front-end 工具无关。它是一个后端实现,任何后端开发人员都可以自由地按照他们想要的方式进行。虽然有一些标准,比如cursor pagination.

在实际项目中,后端和前端开发人员将就其工作方式签订“合同”,因此双方都知道 属性 将如何工作。