在分页结果REST状态码204(REST status code 204 on paginated

2019-07-30 08:10发布

我设计像一个基于YUI的客户端的分页数据检索API休息。 其余的URL看起来像这样的一个GET请求:

/app/catalog/data?startIndex=<int>&results=<int>&sort=<sting>&dir=<string>

所有的参数都是可选的,也就是说,如果没有给定参数,从数据库的所有数据将被倾倒。 现在说,有只有1000数据库中的记录。 继reqeust即发:

/app/catalog/data?startIndex=1100&results=25

我应该返回如果从数据库中分页结果仍然为空,虽然要求是罚款什么状态代码? 我不能决定这是否是204404

产生的媒体类型是JSON和CSV。

Answer 1:

我会说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.

听起来酷似情况。



Answer 2:

我不能决定这是否是204404

都不是。 只是返回200与空结果(空XML文档或JSON阵列,无论你使用)。 通常我用分页意见REST服务,从而伴随着搜索结果页我返回记录总数。 这将帮助客户实现的错误。 但在技术上是没有什么错。

使用204DELETE操作(真的没有内容返回)和PUT

BTW(粗体矿):

如果没有给定参数, 从数据库的所有数据都将被转储

相信我,你不想这样做...



Answer 3:

什么格式,你正常返回的结果? 我倾向于让这个204甚至200返回一个空列表。



文章来源: REST status code 204 on paginated result