在路由上使用不同方法(PUT / POST)来表示中间件

时间:2018-04-28 16:37:24

标签: javascript node.js express

app.route('/ad/apply')
        .put(adController.applyAd)
        .post(notificationController.addNotification)

以上路线无法正常工作,如果我在第3行添加错误,则会收到错误404。我如何做PUT然后POST?如果它是PUT我可以做到

app.route('/ad/apply')
        .put(adController.applyAd, notificationController.addNotification)

1 个答案:

答案 0 :(得分:0)

  

以上路线不起作用,如果我在第3行添加错误,则会收到错误404。

要在本地重现您的方案,我尝试了以下代码。它没有线对齐的任何具体问题。

'use strict';

let http = require('http');
let express = require('express');

let app = express();

let server = http.createServer(app);

const PORT = 8888;
server.listen(PORT, () => {
  console.log(`Server is up at ${PORT}`);

  app.route('/').put((req, res) => {
    return res.status(200).send({
      msg: 'hello from PUT'
    });
  }).post((req, res) => {
    return res.status(200).send({
      msg: 'hello from POST'
    });
  });

});

可能是,404是因为其他一些路线优先于此,基于声明的顺序。