Sto giocando con Nodejs ed esprimo costruendo una piccola API di riposo. La mia domanda è: qual è la buona pratica / il modo migliore per impostare lo stato del codice e i dati di risposta?
Permettetemi di spiegare con un po 'di codice (non inserirò il nodo ed esprimerò il codice necessario per avviare il server, ma solo i metodi router interessati):
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];
}
};
Il codice seguente funziona perfettamente e, quando invio una richiesta con Postman, ottengo il seguente risultato:
Come puoi vedere, lo stato mostra 200, il che è OK. Ma è questo il modo migliore per farlo? Esiste un caso in cui dovrei impostare personalmente lo stato e il JSON restituito? O è sempre gestito da express?
Ad esempio, ho appena fatto un test rapido e ho leggermente modificato il metodo get sopra:
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);
});
Come puoi vedere, se l'utente non viene trovato nell'array, imposterò solo uno stato di 404.
Risorse / consigli per saperne di più su questo argomento sono più che benvenuti.