Mic*_*l-O 3 rest pagination http-status-codes
我正在设计一个类似于REST的API,用于基于YUI的客户端的分页数据检索.对于GET请求,REST URL如下所示:
/app/catalog/data?startIndex=<int>&results=<int>&sort=<sting>&dir=<string>
Run Code Online (Sandbox Code Playgroud)
所有参数都是可选的,即如果没有给出参数,则将转储来自DB的所有数据.现在说数据库中只有1000条记录.以下是:
/app/catalog/data?startIndex=1100&results=25
Run Code Online (Sandbox Code Playgroud)
如果请求没问题,如果数据库中的分页结果仍然为空,我应该返回什么状态代码?!我不能决定这是否是204或404.
生成的媒体类型是JSON和CSV.
Mic*_*itz 11
我会说204是最合适的.请求成功,但没有结果.
10.2.5 204 No Content
The server has fulfilled the request but does not need to return an entity-body, and might want to return updated metainformation.
Run Code Online (Sandbox Code Playgroud)
听起来和案子完全一样.
我不能决定这是否是
204或404.
都不是.只返回200一个空结果(空XML文档或JSON数组,无论你使用什么).通常我使用带有分页视图的REST服务,因此结果页面返回总记录数.这将有助于客户实现错误.但从技术上讲,这没什么不对.
使用204的DELETE操作(真的没有内容返回)和PUT.
BTW(大胆的矿井):
如果没有给出参数,则将转储来自DB的所有数据
相信,你不想这样做......