Post 在每条路线上发挥作用

Post function on every routes

目前我在每条路线上复制相同的 .post 方法,因为我希望每条路线都有这个方法。有没有其他方法可以使所有路由都具有相同的方法而不复制它?

示例: 对于每个路由,用户可以 post 向数据库发送一些内容。

api.js

api.route('/')
   .post(function(req, res) {
         var story = ({
            content: req.body.content;
         });
    story.save();

   });


api.route('/profile')

 .post(function(req, res) {
         var story = ({
            content: req.body.content;
         });
    story.save();

   });

仅供参考,每条路线是否只能执行一个 .get 或 .post 方法?

将逻辑包装在一个函数中:

var yourFunction = function(req, res) {
   var story = ({
      content: req.body.content;
   });
   story.save();
});

并将其传递给您的路线定义:

api.route('/').post(yourFunction);
api.route('/profile').post(yourFunction);

does every route could only perform one .get or .post method?

您可以拥有:

api.route('/').get(yourFunction);
api.route('/').post(yourOtherFunction);

但你不能:

api.route('/').get(yourFunction);
api.route('/').get(yourOtherFunction);

后者,express会考虑最后一个