Я играю с Nodejs и выражаюсь, создавая небольшой API отдыха. У меня вопрос, какова хорошая практика / лучший способ установить статус кода, а также данные ответа?
Позвольте мне объяснить с небольшим количеством кода (я не буду помещать узел и экспресс-код, необходимый для запуска сервера, только соответствующие методы маршрутизатора):
router.get('/users/:id', function(req, res, next) {
var user = users.getUserById(req.params.id);
res.json(user);
});
exports.getUserById = function(id) {
for (var i = 0; i < users.length; i++) {
if (users[i].id == id) return users[i];
}
};
Код ниже работает отлично, и при отправке запроса с почтальоном, я получаю следующий результат:
Как видите, статус показывает 200, что нормально. Но это лучший способ сделать это? Есть ли случай, когда мне нужно было бы установить статус самостоятельно, а также возвращаемый JSON? Или это всегда обрабатывается экспресс?
Например, я только что сделал быстрый тест и немного изменил метод get выше:
router.get('/users/:id', function(req, res, next) {
var user = users.getUserById(req.params.id);
if (user == null || user == 'undefined') {
res.status(404);
}
res.json(user);
});
Как вы можете видеть, если пользователь не найден в массиве, я просто установлю статус 404.
Ресурсы / советы, чтобы узнать больше об этой теме, более чем приветствуются.