如何在Express.JS中创建自定义Controller的操作

时间:2012-03-26 08:05:34

标签: model-view-controller node.js express

我从Node.JS和Express.JS开始,我想遵循MVC模式。我发现 Express-Resource (https://github.com/visionmedia/express-resource)看起来不错但它并没有100%解决我的问题,因为你可以看到它遵循REST方案和所有POST请求被发送到创建方法,对我来说这是一个问题,我尝试用一​​个例子解释它:

我有一个控制面板,可以显示,编辑,创建,删除客户。

当我完成编辑客户时,我发送了POST请求的详细信息,如果我使用该模块(express-resource)将自动调用“create”方法,但这对我来说毫无意义,我想打电话取决于URL的操作,所以:

/users/create:我需要创建用户帐户时才调用它。它应该接受GET和POST

获取以查看允许我创建用户的表单

POST:在我完成时发送信息

所以我总是喜欢这样的道路:

/PATH/:action/:params (like: /users/edit/1)

但是当我不创建任何内容时,我想避免调用 create 方法。

1 个答案:

答案 0 :(得分:1)

为什么不使用裸骨表达?

app.get("/users/:userid/create", function (req, res, next) {
    // serve the form
});

app.post("/users/:userid/create", function (req, res, next) {
    // save in the database
});