91
votes

BodyParser est obsolète

Entrez la description de l'image ici

Comme l'image affichée, BodyParser est désormais obsolète, comment corriger la syntaxe ou l'instruction BodyParser pour éliminer la ligne?


3 commentaires

Quelle version de Body-Parser et nodejs utilisez-vous?


J'utilise 1.19.0 Body-Parser et 14.15.0 Node.js


Veuillez ne pas envoyer d'image, préférez le code: meta.stackoverflow.com/questions/285551/…


3 Réponses :


203
votes

Si vous utilisez Express 4.16+, vous n'avez plus à importer Body-Parser . Vous pouvez le faire comme ceci:

app.use(express.urlencoded({extended: true}));
app.use(express.json()) // To parse the incoming requests with JSON payloads


1 commentaires

Je vous en prie!. Et pour utiliser JSON, vous pouvez simplement aller avec: app.use (express.json ())



23
votes

Le même problème se produit également à mes projets. Maintenant, dans les derniers express, nous n'avons pas besoin d'importer le corps-carré, nous pouvons simplement utiliser Express comme suivant.

app.use(express.urlencoded({ limit: "50mb", parameterLimit: 500000000 }));

ou Si vous limitez la taille

app.use(express.json());
app.use(express.urlencoded({ extended: true }));


0 commentaires

20
votes

N'utilisez pas de carrosserie

l'analyse corporelle est devenue intégrée avec Express Ainsi, utilisez simplement

app.post("/yourpath", (req, res)=>{

    var postData = req.body;

    //Or like this, for string JSON body

    var postData = JSON.parse(req.body);
});

de directement Express

vous pouvez désinstaller un carrosserie à l'aide de npm de désinstallation de carrosserie



puis vous Peut simplement obtenir le contenu du post à partir de req.body

app.use(express.json()) //For JSON requests
app.use(express.urlencoded({extended: true}));


2 commentaires

json.parse (req.body) est-il vraiment nécessaire tant que vous avez utilisé app.use (express.json ()) ? J'ai essayé d'utiliser les propriétés d'objet JSON sans json.psse () et cela fonctionne toujours.


@SixTeen Oui, cela fonctionne directement tant que la demande a un format JSON et que vous n'aurez pas besoin d'utiliser json.parse () . Mais pour les demandes qui envoient JSON dans un formulaire de chaîne, vous devrez utiliser json.parse () pour obtenir un objet JSON utilisable. Un exemple pourrait être un code frontal qui utilise fetch pour envoyer une demande au serveur et envoie un objet sous forme de chaîne à l'aide de json.strifify ()