Je suis nouveau ici et j'apprends Express, et même si je pense être sur la bonne voie, j'ai actuellement quelques problèmes avec mon POST
approche. La situation que je rencontre actuellement est la suivante :
Lorsque j'envoie une requête POST
请求时,我收到一个空对象{}
vers un fichier http, je reçois un objet vide {}
. De plus, j'ai testé via le client Thunder, mais j'ai reçu une erreur 400 ou une autre erreur http.
Content-Type: application/json
ne fonctionne pas sous les chemins dans les fichiers http.
GET
la méthode fonctionne bien.
Voici le code que j'ai utilisé :
const express = require('express'); const { stories } = require('../data/books.js').infoBooks; const routerStories = express.Router(); routerStories.use(express.json()); routerStories.post('/', (req, res) => { const newBook = req.body; stories.push(newBook); res.send(JSON.stringify(stories)); });
J'essaie de comprendre depuis quelques jours. Même si j'ai fait beaucoup de recherches, je n'arrive pas à comprendre. Veuillez donner votre point de vue et votre expérience pour pouvoir résoudre ce problème.
J'ai trouvé quelques problèmes dans votre code. Je suppose que vous avez collé le code d'origine, voici donc ce que vous devez modifier.
1.) Je ne pense pas que cette ligne soit du code javascript valide, ou si c'est le cas, c'est un peu bizarre.
const { stories } = require('../data/books.js').infoBooks;
如果infoBooks
est un objet contenant une histoire, importez simplement l'objet2.) Vous n'avez pas besoin de définir la route sur json car la route a cette méthode par défaut et acceptera json comme réponse valide
3.) Peut-être que vous n'utilisez pas un nom de route différent et qu'une autre route utilise le même littéral de chaîne.
Vous n'avez pas fourni suffisamment d'informations, il peut donc y avoir d'autres problèmes liés à votre utilisation du routage lui-même, mais d'après ce que vous avez publié, voici tous les problèmes que j'ai trouvés. J'espère que cela t'aides!