我正准备启动一个新的Rails 5 API,并意识到我还需要一个内容管理的“站点”。管理工具非常简单,只是一个非常基本的CRUD操作的UI。
我本能地创建了两个单独的Rails应用程序--一个用于内容管理工具的web应用程序,另一个用于API的web应用程序。
这就带来了共享数据模型的问题,这种问题可以通过使用rails引擎来解决,或者将模型包括在gem中。
在研究解决方案时,我似乎观察到了在API应用程序本身中包含内容管理部分的模式。有一些中间件包括和控制器继承涉及到这一点,但它是相当简单的获得一个内容-管理UI运行在同一个应用程序中作为一个API。它的工作要少得多,而且我看不出规模有多大问题,因为content的利用率很低,API是业务的核心。
这是公认的惯例吗?由于网络搜索结果,我可能会有偏见,但这似乎是最简单和最常见的方法。我计划有一个单独的服务器来访问内容-管理和访问API,这使得我最初计划作为两个单独的应用程序。现在我在想,我只是被“微服务”炒作所吸引,而在我的API应用程序中只包含内容管理界面(Content)似乎更为传统。
另一方面,我所读到的关于Rails引擎的一切都过时了3-4年。在过去一年多的时间里,几乎没有什么信息(我无意中发现),更具体地说,几乎没有关于Rails 5的信息,我想知道这种架构是否已经过时了。
Rails 5API应用程序是否有一个典型的约定,同时也需要内容管理UI?
发布于 2016-12-03 18:15:53
我以前使用过的方法是让api用完/app/controllers/api
,然后安装ActiveAdmin gem,并在/app/admin
中安装管理接口文件。您可以在https://api.yourapp.com/admin
上设置服务管理接口的路由,在https://api.yourapp.com/api/v1/
或类似的地方设置API。
我不知道这是多少公认的惯例,但效果很好。
https://stackoverflow.com/questions/40948907
复制相似问题