首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REST状态码分页

REST状态码分页
EN

Stack Overflow用户
提问于 2016-06-26 15:21:16
回答 1查看 1.7K关注 0票数 2

我目前正在使用编写REST。我遵循headers原则,用户应该只通过我的响应主体代码头中的给定链接来移动api。在某些参考资料中,我实现了分页功能。不过,我想知道,当用户没有遵循我的边界并随机地发出请求时,我应该告诉用户什么(HTTP状态代码),而请求页面实际上是“超出范围”的。目前,我只是返回一个空集合,但我认为作为一个用户,我将无法从这样的反应。我考虑使用状态码“找不到”,但我不确定这是否合适。我真的想保持对REST的忠诚,这意味着我仍然忠于HTTP。所以,有人能给我建议,甚至告诉我,我的问题是否真的有规则?

也许是一个具体的例子:

  • 页面大小= 10;
  • Collection.size = 27;
  • 请求页= 4;
  • 分页以页0开始。

因此,请求http://...../resource?page=0返回第一页。我的问题是,对于请求http://...../resource?page=4,我应该返回什么?目前我只是返回null,但我不认为这是正确的反应。提前感谢

编辑:如果请求的页面是“空”的,我只是询问预期的响应。我知道,对于未来的更改请求来说,固定页面大小的设计可能注定要失败,但是由于这个API是Microservice的一部分,所以除了我们的团队内部有一场斗争外,不会有任何变化:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-26 15:41:24

404 not found是绑定外访问的适当返回代码。

但是,您应该考虑更改资源标识符(URI)。根据URL参数返回404200并不是一个好的设计。

最好将每个页面作为单一资源来处理。对来说也是如此。

代码语言:javascript
复制
 .../resource/page/0  #200 + return link in header to next resource  .../resource/page/1
 .../resource/page/4  #404 + return link to first resource  .../resource/page/0)

如果没有其他任何操作(例如,范围访问),使用URL参数应该是最后一个选项。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38039983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档