我从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 方法。
答案 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
});