我正在使用Nodejs和Express构建一个小型rest API,研究其中的玩法。我的问题是,在设置代码状态以及响应数据方面,有哪些好的实践/最佳方式?
让我用一点代码来解释一下(我不会放置启动服务器所必需的node和express代码,只放置与路由器方法相关的代码):
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发送请求时,我会得到以下结果:
![enter image description here](https://istack.dev59.com/0EMs8.webp)
例如,我刚刚进行了一个快速测试,并略微修改了上面的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。
欢迎提供有关此主题的更多资源/建议以便深入学习。