@postya

Как исправить неправильный метод получения пользователя в sqlite в node js приложении?

Пишу Rest API на Node.js + Express.js
База данных Sqlite.
Есть метод, который получает одного пользователя по id. Если я в запросе введу id пользователя, который есть в бд, то я его могу нормально получить без каких либо ошибок со статусом 200
Если же я введу неверный id, которого нет в БД, то я не получаю пользователя, но статус код всё равно 200, ошибки почему-то не обрабатываются
Как можно исправить метод для корректной работы?

Корректный id:
5f214ef906a3a683557137.jpeg

Неправильный id:
5f214f3e7f083324882392.jpeg

users.js:

const express = require('express')
const db = require("../database");
const router = express.Router()

//get single user
router.get("/api/user/:id", (req, res, next) => {
    let userId = [req.params.id];
    db.get(`SELECT * FROM user where id = ?`, userId, (err, row) => {
        if (err) {
            res.status(400).json({"error":err.message});
        }
        res.status(200).json(row);
    });
});

module.exports = router


server.js:
const express = require("express");
const app = express();


const router = require('./routes/users')

app.use(router)
// Server port
const PORT = 8000;
// Start server
app.listen(PORT, () => {
    console.log(`Server running on port ${PORT}`)
});


database.js:
const sqlite3 = require('sqlite3').verbose();

const DBSOURCE = "database.db"

let db = new sqlite3.Database(DBSOURCE, (err) => {
    if (err) {
        // Cannot open database
        console.error(err.message)
        throw err
    } else {
        console.log('Connected to the SQLite database...')
    }
});


module.exports = db
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы