Nodejsをいじって、小さなREST 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だけでなく、自分でステータスを設定する必要がある場合はありますか?それとも、常に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に設定します。
このトピックの詳細を学ぶためのリソース/アドバイスは大歓迎です。