【发布时间】:2015-08-26 07:42:15
【问题描述】:
我正在将 API 构建到 Web 应用程序上,我有几个关于如何设置的问题。
某些记录无法通过网络应用程序本身创建,但 API 不仅可以完全控制创建,还可以完全控制其他网络应用程序功能。
假设我有 3 个 rails 对象:User has_one Business has_many Ratings
在网络应用程序中,用户对 Users 和 Businesses 具有完全的 CRUD 控制权,但对 Ratings 仅有 RUD 控制权(没有创建)。
在 API 中,对所有三个对象都有完全的 CRUD 控制。
那么,话虽如此,我应该如何构建我的文件?乍一看,有人会认为我会为所有三个对象创建普通控制器,并仅限制 receipts_controller.rb 中的“创建”事件以进行 JSON 访问 (API)。但是,如果我为我的 API (myapp.com/api/v1/receipt.json) 使用命名空间,我不需要为我的收据对象使用单独的控制器吗?
在写这篇文章时,我想到了像正常一样命名 API 并让 /api/v1/receipts_controller.rb 文件扩展正常的 /receipts_controller.rb ——这是正确的方法吗?
显然,我不希望网络应用和 API 在不同的控制器上运行,这就是为什么我正在就此事寻求一些建议。
【问题讨论】:
标签: json api ruby-on-rails-4