如何限制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 结果的排序选项仅限于 created
、updated
、pushed
和 full_name
(默认)。如果您想按其他方式排序,则需要这样做 client-side,例如
data.sort((a, b) => a.stargazers_count - b.stargazers_count);
对于GitHub,正确的属性是per_page
。
请记住,限制结果与 Axios 或任何 front-end 工具无关。它是一个后端实现,任何后端开发人员都可以自由地按照他们想要的方式进行。虽然有一些标准,比如cursor pagination.
在实际项目中,后端和前端开发人员将就其工作方式签订“合同”,因此双方都知道 属性 将如何工作。
我正在尝试使用 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 结果的排序选项仅限于 created
、updated
、pushed
和 full_name
(默认)。如果您想按其他方式排序,则需要这样做 client-side,例如
data.sort((a, b) => a.stargazers_count - b.stargazers_count);
对于GitHub,正确的属性是per_page
。
请记住,限制结果与 Axios 或任何 front-end 工具无关。它是一个后端实现,任何后端开发人员都可以自由地按照他们想要的方式进行。虽然有一些标准,比如cursor pagination.
在实际项目中,后端和前端开发人员将就其工作方式签订“合同”,因此双方都知道 属性 将如何工作。