Estoy usando https://github.com/typicode/json-server para simular datos para un proyecto.
Configuré el servidor de acuerdo con la documentación, pero al crear una solicitud POST personalizada, usando curl:
curl 'http://localhost:4200/api/stamoplysninger/beregningsvaerdier/' \ -H 'Accept: application/json' \ -H 'Accept-Language: en-GB,en-US;q=0.9,en;q=0.8' \ -H 'Connection: keep-alive' \ -H 'Content-Type: application/json' \ -H 'Origin: http://localhost:4200' \ -H 'Referer: http://localhost:4200/' \ -H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Site: same-origin' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36' \ -H 'sec-ch-ua: "Chromium";v="103", ".Not/A)Brand";v="99"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Linux"' \ --data-raw '{"virkningsaar":2025,"workzonenummer":"12-1234567", "msbOevrigeEjendommeProcent":81.2,"msbAlmeneBoligerProcent":0, "afsavnsrentesatsProcent":12.99,"forsigtighedsprincipProcent":100, "grundskyldMaxVaerdiPromille":669,"grundskyldMinVaerdiPromille":48, "grundskyldMaxVaerdiProduktionsjordPromille":551.27, "grundskyldMinVaerdiProduktionsjordPromille":4, "daekningsafgiftMaxOffentligPromille":373, "daekningsafgiftMaxErhvervPromille":639}' \ --compressedNo puedo leer el cuerpo de la solicitud:
server.post('/api/stamoplysninger/beregningsvaerdier/', (req, res) => { console.log(req.body) // logs 'undefined' })También he establecido explícitamente
server.use(jsonServer.bodyParser);De lo contrario, el servidor Json se establece de forma predeterminada.
Según el código que proporcionó, el error no se puede reproducir de inmediato. Pero pude crear una situación en la que el problema puede ocurrir. Pero no estoy seguro de si ese es exactamente el problema al que te enfrentas.
Puede suceder si aplica el analizador corporal DESPUÉS de definir su ruta.
Por ejemplo, esto no funciona
server.post('/test/', (req, res) => { console.log(req.body) //Undefined }) server.use(jsonServer.bodyParser)Esto hace:
server.use(jsonServer.bodyParser) server.post('/test/', (req, res) => { console.log(req.body) //The Json Body })