Tôi đang chơi xung quanh với Nodejs và thể hiện bằng cách xây dựng một API nghỉ ngơi nhỏ. Câu hỏi của tôi là, cách tốt nhất / cách tốt nhất để đặt trạng thái mã, cũng như dữ liệu phản hồi là gì?
Hãy để tôi giải thích với một ít mã (Tôi sẽ không đặt nút và mã nhanh cần thiết để khởi động máy chủ, chỉ các phương thức bộ định tuyến có liên quan):
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];
}
};
Mã dưới đây hoạt động hoàn hảo và khi gửi yêu cầu với Postman, tôi nhận được kết quả sau:
Như bạn có thể thấy, trạng thái hiển thị 200, không sao cả. Nhưng đây có phải là cách tốt nhất để làm điều này? Có trường hợp nào tôi phải tự đặt trạng thái, cũng như JSON được trả lại không? Hay là luôn luôn được xử lý bằng cách thể hiện?
Ví dụ, tôi vừa thực hiện một thử nghiệm nhanh và sửa đổi một chút phương thức get ở trên:
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);
});
Như bạn có thể thấy, nếu không tìm thấy người dùng trong mảng, tôi sẽ chỉ đặt trạng thái 404.
Tài nguyên / lời khuyên để tìm hiểu thêm về chủ đề này được chào đón nhiều hơn.