繁体   English   中英

Rails 4 API最佳实践

[英]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。 有几个原因:

  1. 当您开始发布新版本时,您既不想更改Web应用程序控制器,也不想有太多的条件。 这是纯粹的邪恶。 您需要做的是~/v2/~并将所有逻辑放在那里。

  2. 瘦控制器是关键,将API和Web App Controller混合使用会使调试控制器更加困难,并且可能会导致太多方法

  3. 为API使用不同的控制器使您能够在其上实施不同的安全策略,而不必理会Web应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM