Estoy jugando con Nodejs y expreso construyendo una pequeña API de descanso. Mi pregunta es, ¿cuál es la mejor práctica / mejor manera de configurar el estado del código, así como los datos de respuesta?
Permítanme explicarlo con un poco de código (no pondré el nodo y el código expreso necesario para iniciar el servidor, solo los métodos de enrutador que conciernen):
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];
}
};
El siguiente código funciona perfectamente, y cuando envío una solicitud con Postman, obtengo el siguiente resultado:
Como puede ver, el estado muestra 200, que está bien. ¿Pero es esta la mejor manera de hacer esto? ¿Hay algún caso en el que deba establecer el estado yo mismo, así como el JSON devuelto? ¿O es eso siempre manejado por expreso?
Por ejemplo, acabo de hacer una prueba rápida y modifiqué ligeramente el método get anterior:
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);
});
Como puede ver, si el usuario no se encuentra en la matriz, solo estableceré un estado de 404.
Los recursos / consejos para aprender más sobre este tema son más que bienvenidos.