Grigorii Mordkovich Ответов: 0

Проблемы с node.js REST API


Всем привет. Я проходил онлайн-курс о создании бэк-энда веб-приложения с помощью Node.js и база данных SQlite. Node.js одни только коды работали отлично. В одном только учебнике по базам данных все работало хорошо. Но, когда я объединил их и начал передавать SQL-команды из моего Node.js API к базе данных, где начались проблемы.

Это простой API, который должен возвращать кавычки из базы данных на основе ввода пользователя (браузера). Когда я тестировал его, он действительно показывал весь список котировок на .../quotes (что ожидалось),но когда я ввел .../quotes?year=1910, надеясь получить цитату, для которой столбец year имеет значение 1910 из моей базы данных, по какой-то причине я получил пустой объект json (т. е. []). Извините за мое объяснение, я постарался рассказать как можно больше подробностей. Вот код внизу.

app.get('/quotes', function(req, res){
    if(req.query.year){
        db.all('SELECT * FROM quotes WHERE year = ?', [req.query.year], function(err, rows){
            if(err){
                res.send(err.message);
            }
            else{
                console.log("Return a list of quotes from the year: " + req.query.year);
                res.json(rows);
            }
        });
    }
    else{
        db.all('SELECT * FROM quotes', function processRows(err, rows){
            if(err){
                res.send(err.message);
            }
            else{
                for( var i = 0; i < rows.length; i++){
                    console.log(rows[i].quote);
                }
                res.json(rows);
            }
        });
    }
});


Что я уже пробовал:

Я дважды проверил, что запись с 1910 годом существует в базе данных
Я дважды проверил, что все необходимое node.js модули устанавливаются для проекта
Я дважды проверил заголовки в своем журнале. node.js код

0 Ответов