Я играю с Nodejs и выражаю, создавая небольшой API для отдыха. Мой вопрос: какова хорошая практика/лучший способ установить статус кода, а также данные ответа?
Позвольте мне пояснить немного кода (я не буду размещать node и выражать код, необходимый для запуска сервера, а также только методы маршрутизатора):
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];
}
};
Код ниже работает отлично, и при отправке запроса в Postman я получаю следующий результат:
Как вы можете видеть, статус показывает 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.
Ресурсы/советы, чтобы узнать больше об этой теме, более чем приветствуются.