// INICIO EIDT:
La solución fue (gracias al Sr. Hawkeye @robertklep) el nombre "cuerpo" en mi solicitud de publicación en axios en el lado del cliente. Aparentemente, no puede nombrar el cuerpo en la solicitud de publicación de axios más que datos, aunque sea una referencia pasada desde un parámetro o similar.
// FIN EIDT:
Actualmente estoy creando una aplicación con React como frontend y Express como backend.
Para las llamadas a la API, estoy usando axios. Mi API ha estado funcionando bien, pero de repente, sin cambios obvios, el cuerpo de mi solicitud de publicación no se envía al backend.
En mi index.js tenía lo siguiente:
app.use(bodyParser.json());pero también probé con
app.use(express.json())Función del lado del cliente llamando a mi solicitud de publicación:
const checkForExistingUserData = async () => { if (user) { const body = { caseId: user['caseId'] } await postRequest({request: body}, commonApiLocations["userDataLookUp"]) } }Mi llamada del lado del cliente se está llamando de esta manera:
export function postRequest(body, url) { console.log(body) // Logs correct body with my data inside const config = { method: 'post', url: masterEndPoints['expressEndPoint'] + url, headers: { 'Content-Type': 'application/json', }, body // should be called "data" (see edit in top) }; return axios(config); }Función de punto final de ruta expresa:
route.post('/api/users/checkExistingUserData', async (req, res) => { try { const request = req.body.request; console.log("request: ", request); // Gives undefined if (request['caseId']) { let result = await checkIfExist(tableNames['TableName'], {'caseId': request.caseId}) res.status(200).send(result); } else { res.status(200).send(false) } } catch (error) { res.status(500).send('En error occurred on the server') } });Cuando inicio sesión en el lado del cliente, veo mi solicitud con los datos que espero ver.
Cuando hago console.log en el servidor, obtengo un archivo indefinido.
Cuando hago console.log req.body obtengo "{}"
¿Alguna razón para este error? Estoy completamente estupefacto por esto.