分离Rails API和Rails应用程序是否有意义?

时间:2016-06-14 11:30:42

标签: ruby-on-rails api

我有一个涉及移动和Web客户端的项目。移动客户端主要获取内容和发布用户更新,而Web客户端主要用于创建内容。因此,Web客户端和API共享许多相同的模型和验证。

我正在尝试在这种情况下决定最佳方法:

  1. 仅限JSON的Rails API +单独调用API的Rails Web客户端。
  2. 单一Rails应用程序,分离API和客户端(不知何故)。
  3. 对于我来说,在选项N°1方面的专业是关注点的分离,因为我可以在其他人做Web客户端的同时处理API。在验证方面,骗局似乎有很多重复的代码。

    N°2在减少代码重复方面可能更有意义,但如果不止一个人在同一个代码库上工作并且设置一个解决代码冲突的过程不是我想做的事情,它会变得混乱这一点,因为我们是一个早期的创业公司,并希望快速得到一些东西。

    我有什么遗漏吗?

2 个答案:

答案 0 :(得分:2)

最佳做法是使用适用于API和Web界面的ONE rails应用程序

要分离这些部分,只需为API创建一个名称空间,如http://collectiveidea.com/blog/archives/2013/06/13/building-awesome-rails-apis-part-1/

所述。

答案 1 :(得分:0)

一起做。

  

在验证方面,骗局似乎有很多重复的代码。

不,您不会在模型中进行重复验证,该模型由您的API< =>共享。网络控制器。当然,您将拥有实际授权/会话处理的单独实现(如果您有这些实现),但这些实现不太可能重复,但对于您的两个访问层来说有点不同。