[英]Rails 4 best practice for API
我正在将API构建到Web应用程序上,并且对应如何设置有一些疑问。
某些记录无法通过Web应用程序本身创建,但是API不仅可以完全控制创建,还可以完全控制其他Web应用程序功能。
假设我有3个rails对象: 用户 has_one
业务 has_many
评分
在Web应用程序中,用户具有对“ 用户和企业”的完全CRUD控制,但仅对“ 等级”具有 RUD控制(无创建)。
在API中,所有三个对象都有完整的CRUD控制。
因此,话虽如此,我应该如何构造我的文件? 乍一看,人们会以为我会为所有三个对象创建普通控制器,并只在receipts_controller.rb
限制JSON访问(API)的“ Create”事件。 但是,如果我对我的API使用名称空间(myapp.com/api/v1/receipt.json),我的收据对象是否不需要单独的控制器?
在编写此代码时,我想到了仅像普通名称空间那样命名API的想法,并让/api/v1/receipts_controller.rb
文件扩展了普通/receipts_controller.rb
-这是正确的方法吗?
显然,我不想让Web应用程序和API在不同的控制器上运行,这就是为什么我在此问题上寻求一些建议的原因。
不知道我是否理解您的解释。 这是我的2美分。 我更喜欢为API使用单独的控制器,而他是Web App。 有几个原因:
当您开始发布新版本时,您既不想更改Web应用程序控制器,也不想有太多的条件。 这是纯粹的邪恶。 您需要做的是~/v2/~
并将所有逻辑放在那里。
瘦控制器是关键,将API和Web App Controller混合使用会使调试控制器更加困难,并且可能会导致太多方法
为API使用不同的控制器使您能够在其上实施不同的安全策略,而不必理会Web应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.