我正在使用Nodejs和通过构建一个小的休息API表达。我的问题是,什么是良好的做法/最好的方式来设置代码状态,以及响应数据?
让我用一点代码解释(我不会把节点和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发送请求时,我得到以下结果:
正如你可以看到,状态显示200,这是确定。但这是最好的方法吗?是否有一种情况,我应该自己设置状态,以及返回的JSON?还是总是由快速处理?
router.get('/users/:id',next) { var user = users.getUserById(req.params.id); if (user == null || user == 'undefined') { res.status(404); } res.json(user); });
如你所见,如果在数组中找不到用户,我将设置状态为404。
欢迎了解更多关于此主题的资源/建议。
解决方法
Express API参考涵盖了这种情况:
http://expressjs.com/4x/api.html#res.send。
简而言之,你只需要在调用json或send之前调用status方法:
res.status(500).send({ error: "boo:(" });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。