J'essaie de créer une API reposante pour les produits pour effectuer des opérations de crud. La base de données que j'utilise est mongodb et j'utilise Mongoose avec Express pour accéder aux données. Lorsque j'essaie de créer un produit, il ajoute le produit à la base de données et je souhaite envoyer les informations de données créées à l'utilisateur, mais elle envoie les données du bloc de capture et une erreur affichée est null.
mon schéma p> < Pré> xxx pré>
Point d'extrémité pour la création d'un produit p> la sortie de la console p> je m'attends La sortie doit être p> la sortie que je reçois est p> Qu'est-ce que je fais mal? < / p> p>
3 Réponses :
C'est probablement le nom du produit et le prix est vide. Vous les définissez comme champs requis:
let prodname = req.body.name || 'sample product' let price = req.body.price || '20'
J'envoie le nom et le prix du produit et lorsque je vérifie tous les produits de mon produit local, le produit a été ajouté en fonction de ce nom et de ce prix
Le problème est que vous utilisez Vous pouvez simplement le faire. P> res code> comme variable de réponse dans la fonction externe et la fonction interne
app.post("/addprod" ,(req,res) => {
let prodname = req.body.name
let price = req.body.price
product.create({
"_id" : mongoose.Types.ObjectId(),
"name" : prodname,
"price":price
}).then(item => {
res.send(item);
}).catch(err => {
res.send(err);
});
});
Si vous souhaitez utiliser JSON pour envoyer une réponse ... vous pouvez faire comme ça ( le plus court et le plus formaté fort>)
Quelle est votre sortie de console de RES?
@Mdalamin j'ai édité le message pour ajouter une sortie de console