如何在嵌套控制器前面添加新控制器,以便用户不必向 API 发出两个请求?



我创建了一个带有两个控制器的Rails5 API,其中一个嵌套在另一个控制器中,因此为了创建新的部署,您必须首先创建一个模板,并获取其ID,即POST/templates/Deployment。我这样做是因为Template是一个静态对象,在几个月内永远不会改变,但部署是一个不断变化的东西,每次都可能是新的。部署是使用模板进行的,因此,除非模板已经存在,否则不应该创建部署。

我与将使用此服务的开发人员进行了交谈,他们抱怨必须使用两个请求才能进行部署。我为我的设计辩护,但没能说服他们。我是这个组织的大三学生,我没有权力让他们做我想做的事。

因此,我需要创建一个名为QuickDeployment的第三个控制器,它接受一个包含模板和部署参数的params散列。如果模板已经存在,它应该使用它,否则它应该创建一个新的模板。不管怎样,它都应该创建一个新的部署。部署是一个具有状态机和工作流的对象——用户应该能够通过get/quick_deployments/获取部署的当前状态。

我想知道第三个控制器是否需要一个模型,该模型将引用模板并创建部署,或者不需要?如果可以重复与QuickDeployment相关联的模板和部署的参数和行为,我希望避免重复。

那么,我应该创建一个QuickDeployment模型吗?我可以在不创建模型、使用路由或其他方法的情况下完成同样的事情吗?

我想知道第三个控制器是否需要一个模型将引用模板并创建部署,或者不

否。您的新控制器基本上会从POST请求中提取模板参数,创建模板记录,然后创建一个部署记录,该记录属于具有部署参数的新创建的模板。

最新更新