React + Node получить запрос с несколькими параметрами не будет работать - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть приложение реагировать + узел, который подключается к БД.На внешнем интерфейсе реагирует через axios, на внутреннем - mongoose подключается к MongoDB на Mlab.

У меня есть различные вызовы API, которые работают просто отлично, но с одним с несколькими параметрами у меня есть проблема - функция реализации APIпросто не вызывается.

Интерфейсный вызов

axios.get(host_url + '/data/byuser', {params: {
        uid: this.state.uid,
        company: this.state.user_company,
        access_level: this.state.user_access
    }}
        .then(res => {
            if(res.status === 200) {
                // do stuff
        })
        .catch( error => {
            console.log(error.toString());
        })

Фрагмент роутера (текущий)

    app.route('/data/byuser')
    .get(getDataByManID);

Также пробовал

app.route('/data/byuser')
    .get( (req, res) => {
        getDataByManID(req, res);
    });

И

app.get('/data/byuser', getDataByManID);

Реализация API

module.exports.getDataByManID = (req, res) => {

    console.log('UID: ' + req.params.uid);
    console.log('Company: ' + req.params.company);
    console.log('Access level: ' + req.params.access_level);

    DataColl.find({
        $or: [
            {
                $and: [{
                    'uid': req.params.uid,
                    'company': req.params.company
                }]
            },
            {
                $and: [{
                    'company': req.params.company,
                    'access_level': {$lt: req.params.access_level}
                }]
            }
        ]
    }, function(err, dataItem) {
        if(err) {
            res.send(err);
        } else if(dataItem.length === 0) {
            res.send(404);
        } else {
            res.json(dataItem);
        }
    });
};

console.log s в getDataByManID() просто для того, чтобы знать, что эта функция вызывается, но вся проблема в том, что она этого не делает.Кажется, что пути разработаны.Почтальон дает правильный ответ для всех других запросов с одним параметром get или запросами post, но для этого запроса 404, однако это не должно произойти, поскольку в базе данных есть записи, которые будут возвращены для этого запроса.По крайней мере, console.log с должны были сработать.

Что я делаю не так?

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