Как создать версию POST и GET для одной и той же конечной точки экспресса? - PullRequest
0 голосов
/ 12 марта 2019

У меня есть 2 конечные точки, которые практически идентичны, единственное отличие состоит в том, что одна из них - это запрос GET с параметрами запроса, а другая - запрос POST с параметрами тела.

app.get('/sameEndpoint', (req, res) => {
    let param1 = req.query.param1;
    let param2 = req.query.param2;

    res.send(param1 + param2);
}

app.post('/sameEndpoint', (req, res) => {
    let param1 = req.body.param1;
    let param2 = req.body.param2;

    res.send(param1 + param2);
}

Я быкак-то реорганизовать это так, чтобы все изменения делались только в одном месте.Это может показаться глупым вопросом, но я не уверен, есть ли простое решение этой проблемы или нет.

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Вы можете создать служебную функцию для этого и использовать вычисленные свойства.

const myEndPointFunc = property => {
     let param1 = req[property].param1;
     let param2 = req[property].param2;
     res.send(param1 + param2);
};


app.get('/sameEndpoint', (req, res) => myEndPointFunc("query"));
app.post('/sameEndpoint', (req, res) => myEndPointFunc("body"));
0 голосов
/ 12 марта 2019
app.all('/sameEndpoint', function (req, res, next) {
  commonCode();
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...