【发布时间】:2011-11-16 13:45:14
【问题描述】:
我正在使用 WcF 身份验证服务创建 WCF Web 服务,我需要的第一组功能是管理客户端的收件箱。客户端将由身份验证决定。
这是我对 API 的 RESTful 设计的尝试:
https://api.mydomain.com/v1/inbox/messages (GET)
在收件箱中返回一个应用了可选搜索过滤器的结果页
- 计数 - 每页的记录数
- 页面 - 要开始的页面
- 排序 - (可选)要排序的字段
- 搜索 - (可选)要搜索的文本
https://api.mydomain.com/v1/inbox/mark (POST)
将一条或多条消息标记为已读或未读
- 操作 - MarkRead 或 MarkUnread
- MessageIDs - 要标记的消息 ID 列表
https://api.mydomain.com/v1/inbox/archive (POST)
归档一条或多条消息
- MessageIDs - 要归档的消息 ID 列表
我这样做对吗?如果不是,那么设计这个界面的更好方法是什么?
【问题讨论】:
-
听起来像已读和未读可能是您第二个 URL 的一部分?
https://api.mydomain.com/v1/inbox/mark/read和https://api.mydomain.com/v1/inbox/mark/unread -
它们应该是两个独立的函数还是一个带参数的函数(这在 RESTful API 中更为规范)?
-
如果你按照我的建议去做,那将是两个端点,对吧?就像在两个 URL 中一样。但是系统可以用同样的方法处理它们。
-
好的,谢谢...最好有两个端点(每个动作一个端点)?如果他们更改数据,他们应该是 POST 吗?其余的都正确吗?
-
如果他们更改数据,他们应该是 POST 或 PUT。这是一个比较何时使用stackoverflow.com/questions/630453/put-vs-post-in-rest和jcalcote.wordpress.com/2008/10/16/…的链接
标签: wcf api rest restful-authentication