几个通用的设计问题:
- 在这里举个例子:
https://developers.google.com/+/api/latest/activities/list#nextPageToken
为什么服务器会返回一个令牌来检索下一个分页结果?这不是打破了无国籍的想法吗?
为什么不只传递一个像 LIMIT name=value 这样的 MySQL 作为参数呢?服务器现在必须返回我想的页数......我错过了什么?
- 我读了很多,但这一篇很有趣:
第二个答复提供了以下示例。
GET http://api.domain.com/user/<id>
GET http://api.domain.com/users
PUT http://api.domain.com/user/<id>
POST http://api.domain.com/users
DELETE http://api.domain.com/user/<id>
有道理,但为什么有两个复数资源?不能假设如果“用户”被查询并且是 NULL 或者没有提供“全部”是预期的吗?POST也一样?如果复数是为了提高可读性 - 为什么没有用于 DELETE 的“用户”资源?
归根结底,我理解 REST 的意思是......单个资源的表示 - 使用 HTTP 动词(GET、PUT、POST、DELETE)从本质上管理该资源 - 类似于 CRUD。
编辑 | 最后我还想问一下为什么 Google API 在 URI 中发送 API 版本而不是使用 HTTP 标头?有原因吗?为了向后兼容老客户?
注释?