gpt4 book ai didi

node.js - 在使用 nodejs 和 express 制作的 REST API 中设置响应状态和 JSON 内容的正确方法

转载 作者:IT老高 更新时间:2023-10-28 21:46:15 34 4
gpt4 key购买 nike

我正在玩 Nodejs 并通过构建一个小的 rest 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 发送请求时,我得到以下结果: enter image description here

如您所见,状态显示为200,表示OK。但这是最好的方法吗?是否存在我必须自己设置状态以及返回的 JSON 的情况?还是总是由 express 处理?

比如我刚刚做了个快速测试,稍微修改了上面的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状态。

非常欢迎提供资源/建议以了解有关此主题的更多信息。

最佳答案

Express API 引用涵盖了这种情况。

statussend .

简而言之,你只需要在调用jsonsend之前调用status方法即可:

res.status(500).send({ error: "boo:(" });

关于node.js - 在使用 nodejs 和 express 制作的 REST API 中设置响应状态和 JSON 内容的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26066785/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com