Saya bermain-main dengan Nodejs dan mengekspresikan dengan membangun API istirahat kecil. Pertanyaan saya adalah, apa praktik terbaik / cara terbaik untuk mengatur status kode, serta data respons?
Biarkan saya jelaskan dengan sedikit kode (saya tidak akan meletakkan node dan mengungkapkan kode yang diperlukan untuk memulai server, hanya metode router yang bersangkutan):
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];
}
};
Kode di bawah berfungsi dengan baik, dan saat mengirim permintaan dengan tukang pos, saya mendapatkan hasil berikut:
Seperti yang Anda lihat, statusnya menunjukkan 200, yang OK. Tetapi apakah ini cara terbaik untuk melakukan ini? Apakah ada kasus di mana saya harus mengatur status sendiri, serta JSON yang dikembalikan? Atau apakah itu selalu ditangani dengan ekspres?
Sebagai contoh, saya baru saja membuat tes cepat dan sedikit memodifikasi metode get di atas:
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);
});
Seperti yang Anda lihat, jika pengguna tidak ditemukan dalam array, saya hanya akan menetapkan status 404.
Sumber daya / saran untuk mempelajari lebih lanjut tentang topik ini lebih dari diterima.