Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

222
Views
El valor de req.body es una API REST indefinida

Estoy creando una aplicación REST API. Tengo un front-end (Nuxt.js) y una API (Express.js), y estoy tratando de enviar datos desde el front-end a la API. Api funciona en el puerto 3001 y al frente en el puerto 8010.

Entonces, el envío de datos se ve así:

Función en el frente:

 methods: { async postTip() { const test = await postTipFunc({ content: this.tipContent }) } }

Aquí está la función postTipFunc (project_front/api/index.js) :

 import axios from "axios"; process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' const api = axios.create({ baseURL: 'http://localhost:8010/', headers: { 'Content-Type': 'application/json' } }) export const postTipFunc = async payload => { const { data } = await api.post(`pt`, payload) return data }

Aquí está el punto final que va al back-end (project_front/server/routes/index.js) :

 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' const { Router } = require('express') const axios = require('axios') const dotenv = require('dotenv') dotenv.config() const api = axios.create({ baseURL: "http://localhost:3001/", }) const router = Router() router.post(`/pt`, async (req, res) => { try { const data = await api.post(`/post-tip`, req.body) res.json(data.data) } catch (e) { console.log(e) } }) module.exports = router

Y finalmente back-end (prodect_api/src/routes/index.js) :

 const router = require('express').Router(); const wrapAsync = require('./../middlewares/async') const tipController = require('../controllers/tip') router.post( "/post-tip", wrapAsync(tipController.postTip) ) module.exports = router;

En realidad, esa función tipController.postTip solo recibe datos y los muestra en la consola, por lo que no tiene sentido mostrarlos.

Además, si puede ayudar, console.log() muestra datos solo aquí: project_front/api/index.js . Después de ese punto todo está undefined

Entonces, ¿cómo puedo solucionarlo?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Bien, aquí está la respuesta, para que las cosas funcionen, necesita instalar body-parse en su API. Así:

 const bodyParser = require("body-parser"); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true}));

¡Espero que ayude a alguien!

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!