MEAN Stack 中路由处理程序的实践?
Practice for Routing Handler in MEAN Stack?
我在 Express 4.x 上有一个与 Twilio API 集成的应用程序,并依赖于用户 phone 的输入,我将以不同的方式响应 XML可能会或可能不会动态创建的文件。
我应该把这个理论上的路由条件放在哪里?即
exports.handle = function(req, res) {
if(req.body.digits == 1){
//pass to first option handler
}
if (req.body.digits == 2) {
//create xml file dynamically
//for second option
}
else {
//handle else
}
};
放入路由文件似乎有点重。在这样的 MVC 结构中,通常将此条件放入控制器中吗?还是填充路线?或者还有其他我不知道的选项吗?
我更愿意让此代码将所有请求传递给单个处理程序。即
exports.handle = function(req, res) {
if (req.body.digits)
//send to handler
};
这是去哪儿了?它叫什么?
在这种情况下,您的路由器就是您的 "single handler"。您正在通过路由机制引导所有输入,并让它决定合适的处理程序(或控制器)是谁。这通常称为 "front controller"。如果您在设计软件时考虑到这一点,那么将逻辑处理程序放在您引用的文件中是有意义的。
我在 Express 4.x 上有一个与 Twilio API 集成的应用程序,并依赖于用户 phone 的输入,我将以不同的方式响应 XML可能会或可能不会动态创建的文件。
我应该把这个理论上的路由条件放在哪里?即
exports.handle = function(req, res) {
if(req.body.digits == 1){
//pass to first option handler
}
if (req.body.digits == 2) {
//create xml file dynamically
//for second option
}
else {
//handle else
}
};
放入路由文件似乎有点重。在这样的 MVC 结构中,通常将此条件放入控制器中吗?还是填充路线?或者还有其他我不知道的选项吗?
我更愿意让此代码将所有请求传递给单个处理程序。即
exports.handle = function(req, res) {
if (req.body.digits)
//send to handler
};
这是去哪儿了?它叫什么?
在这种情况下,您的路由器就是您的 "single handler"。您正在通过路由机制引导所有输入,并让它决定合适的处理程序(或控制器)是谁。这通常称为 "front controller"。如果您在设计软件时考虑到这一点,那么将逻辑处理程序放在您引用的文件中是有意义的。