Je joue avec Nodejs et j'exprime en construisant une petite API de repos. Ma question est la suivante: quelle est la bonne pratique / la meilleure façon de définir le statut du code, ainsi que les données de réponse?
Laissez-moi vous expliquer avec un peu de code (je ne mettrai pas le nœud et le code express nécessaire pour démarrer le serveur, juste les méthodes de routage concernées):
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];
}
};
Le code ci-dessous fonctionne parfaitement, et lors de l'envoi d'une demande avec Postman, j'obtiens le résultat suivant:
Comme vous pouvez le voir, l'état indique 200, ce qui est OK. Mais est-ce la meilleure façon de procéder? Y a-t-il un cas où je devrais devoir définir le statut moi-même, ainsi que le JSON renvoyé? Ou est-ce toujours géré par express?
Par exemple, je viens de faire un test rapide et j'ai légèrement modifié la méthode get ci-dessus:
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);
});
Comme vous pouvez le voir, si l'utilisateur n'est pas trouvé dans le tableau, je vais simplement définir un statut de 404.
Les ressources / conseils pour en savoir plus sur ce sujet sont plus que bienvenus.