【发布时间】:2010-04-25 16:13:00
【问题描述】:
我正在为 Web 应用程序构建一个 API,我已经为此工作了一段时间。我从用户模型开始。 API 的用户部分将允许远程客户端 a) 检索用户数据,b) 更新用户信息和 c) 创建新用户。我已经完成了所有这些工作,但它的设置似乎不正确。以下是我的问题:
- API 端点应该是用户还是用户?最佳做法是什么?
- 我必须将操作添加到末尾,我希望它会被请求类型代替,因此我不必明确指定它。如何正确设置我的路线,而不必包含受保护操作的方法?
让我举几个例子:
获取表演请求 - 希望它在没有“表演”的情况下工作
- curl -u rmbruno:blah http://app.local/api/users/show
提出更新请求 - 希望它在没有“更新”的情况下工作
- curl -X put -F 'user[forum_notifications]=true' -u rmbruno:blah http://app.local/api/users/update
创建 - 可以使用或不使用“创建”,这是我想要的所有这些操作
- curl -X post -F 'user[login]=mamafatta' -F 'user[email]=zzz@zzz.com' -F 'user[password]=12345678' http://twye.local/api/users/
如何构建不需要操作名称的路由?这不是 RESTful API 的常用方法吗?
这是我现在使用 API 的路线:
map.namespace :api do |route|
route.resources :users
route.resources :weight
end
我正在使用在 curl 中处理 http auth 的 restful 身份验证。任何有关单数与复数的路线问题和最佳实践的指导都会非常有帮助。
谢谢! -A
【问题讨论】:
标签: ruby-on-rails api rest routes