Nodejs를 가지고 놀고 작은 휴식 API를 작성하여 표현합니다. 내 질문은 응답 데이터뿐만 아니라 코드 상태를 설정하는 좋은 방법 / 최상의 방법은 무엇입니까?
약간의 코드로 설명하겠습니다 (노드를 넣지 않고 서버를 시작하는 데 필요한 코드를 표현할 것이며 관련된 라우터 방법 만 설명하겠습니다).
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로 설정합니다.
이 주제에 대해 더 배우기위한 자료 / 조언은 환영합니다.