Экспресс промежуточное ПО разными способами (PUT / POST) на маршруте - PullRequest
0 голосов
/ 28 апреля 2018
app.route('/ad/apply')
        .put(adController.applyAd)
        .post(notificationController.addNotification)

Приведенный выше маршрут не будет работать, я получил ошибку 404, не найденную, если я добавил в 3-й строке, как это. Как мне сделать PUT, а затем POST? если это оба PUT, я могу просто сделать

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

1 Ответ

0 голосов
/ 29 апреля 2018

Приведенный выше маршрут не будет работать, я получил ошибку 404, не найденную, если я добавил в 3-й строке, как это.

Чтобы воспроизвести ваш сценарий локально, я попробовал следующий код. У него не было особых проблем с выравниванием линий.

'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 из-за того, что некоторые другие маршруты имеют приоритет над этим на основе порядка объявления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...