在ExpressJS中动态发布/放置路由

时间:2013-11-05 02:45:32

标签: node.js angularjs express

我在客户端使用Angular,在服务器上使用Express。我在同一页面上有两个表格。我需要两个表单发布到相同的URL,但使用不同的控制器方法,具体取决于我可以从请求正文中获取的变量。

显然下面列出的路线可以单独使用,但由于我需要两者,在同一个网址上有两个PUT不起作用:

app.put('/articles/:articleId', articles.update);

app.put('/articles/:articleId', articles.addEditor);

在伪快速代码中,我想要的是:

app.put('/article/:articleId', function(req) {
     if (req.editor) {
          articles.addEditor;
     } else {
          articles.update;
});

1 个答案:

答案 0 :(得分:1)

怎么样:

app.put('/article/:articleId', function(req, res, next) {
    if (req.body.editor) {
        articles.addEditor(req, res, next);
    } else {
        articles.update(req, res, next);
    }
});