Не работает обработчик ошибки 404 в node.js

196
17 апреля 2018, 04:07

Привет!Я учу node.js и попутно создаю свой API сервер с MongoAtlas.Я хотел сделать что если не найден продукт то вместо

{
    "err": {
        "message": "Cast to ObjectId failed for value \"5ad2f3dced708e1f7ce7\" at path \"_id\" for model \"Product\"",
        "name": "CastError",
        "stringValue": "\"5ad2f3dced708e1f7ce7\"",
        "kind": "ObjectId",
        "value": "5ad2f3dced708e1f7ce7",
        "path": "_id"
    }
}

Будет обычное сообщение

{
 "message": "No valid entry found for provided ID"
}

Но мой код не заработал.Я проверял если doc буде равен не NULL.

router.get('/:productid',(req,res,next)=>{
    const id = req.params.productid;
        Product.findById(id)
        .exec()
        .then(doc => {
            console.log(doc);
            if (doc) {
                res.status(200).json(doc);
            }else{
                res.status(404).json({
                    message: 'No valid entry found for provided ID'
                });
            }
        })
        .catch(err => {
            console.log(err)
            res.status(500).json({err:err})
        });
    });

Сейчас я получаю стандартное сообщение об ошибке.Подскажите как сделать вывод сообщение если не найден продукт по ID

READ ALSO
Помощь в настройке роутинга на Ангулар2

Помощь в настройке роутинга на Ангулар2

Господа, добрый день! Нужна помощь в настройке роутинга на втором ангуляреВидимо я его неправильно понимаю, потому как он работает несколько...

211
Почему не правильно работает функция?

Почему не правильно работает функция?

Почему к примеру если указать "17:00","19:00" выведет правильно 7200000ms - то есть до oldtime 2ч

171
Почему внезапно заработал hover на айфон?

Почему внезапно заработал hover на айфон?

Насколько мне известно, hover на айфонах просто так не работаетНо тут меня постиг сюрприз

210
Не работает секундомер (React)

Не работает секундомер (React)

Добрый день, буду рад, если вы мне поможете

287