API分页标准
我一直在工作的API和分页是必需的。每个请求中只返回25个元素。我四处寻找标准,我似乎看到了两种不同的情况API分页标准,api,pagination,standards,Api,Pagination,Standards,我一直在工作的API和分页是必需的。每个请求中只返回25个元素。我四处寻找标准,我似乎看到了两种不同的情况 链接头 链接: 例如: Link: <https://api.github.com/user/repos?page=3&per_page=100>; rel="next", <https://api.github.com/user/repos?page=50&per_page=100>; rel="last" "paging": {
- 链接:
Link: <https://api.github.com/user/repos?page=3&per_page=100>; rel="next",
<https://api.github.com/user/repos?page=50&per_page=100>; rel="last"
"paging": {
"previous": "http://api.example.com/foo?since=TIMESTAMP"
"next": "http://api.example.com/foo?since=TIMESTAMP2"
}
问题:
我应该两者都做吗?话虽如此;“分页”键是正确的键吗?或者“链接”或“分页”我认为这取决于您返回的数据结构(将来可能会返回) 如果从来没有需要自己链接的嵌套对象,那么使用链接头(稍微)更可取,因为这样更正确。嵌套对象的问题是不能嵌套链接头 考虑以下集合实体:
{
"links": {
"collection": "/cards?offset=0&limit=25"
},
"data": [
{
"cardName": "Island of Wak-Wak",
"type": "Land",
"links": {
"set": "/cards?set=Arabian Knights"
}
},
{
"cardName": "Mana Drain",
"type": "Interrupt",
"links": {
"set": "/cards?set=Legends"
}
}
]
}
没有好办法在标题中包含卡片的链接。您是在为自己还是其他人构建API?如果是你自己,那么所有的标准都取决于你。将是一个公开访问的API,它不能回答这个问题。它是您的API还是您为客户机构建的API?如果你发明了它,人们可以访问它,他们就会听任你摆布。你可以随意调用“页面”,强迫他们进入一个疯狂的架构,他们会因为这个架构而鄙视你。但如果是为了客户,他们可能首先会有期望,如果您有疑问,应该询问他们。或者,您可以假设整个世界都期望page=1和per_page=30是一个完全合适的结构,不会混淆。添加您自己的方法完全可以。method=since×tamp=xxx&per_page=30&page=2所以你的答案是“没有标准,我想做什么就做什么”?谢谢你的意见。在我继续开发之前,我会等待更多的回应。最终我从我得到的所有反馈中得出以下结论: