He leído todas las demás publicaciones y he verificado que ninguna de las soluciones en ninguna de ellas resuelve mi problema. En el insomnio, configuro el encabezado del tipo de contenido en "aplicación/json" y aplico el middleware express.json() antes de cualquiera de mis rutas. Lo MÁS frustrante es que el cuerpo no está vacío en mi ruta /register, sin embargo, siempre está dentro de mi ruta /login. Incluso intenté poner el middleware directamente en la ruta con "router.get('/', express.json(), async (req, res) => {" pero fue en vano. También cuando hago el Enrutar una publicación Obtengo un "no se puede OBTENER/registrarme" con el código 404, pero no cuando es una ruta "obtener". En mi ruta de registro hay una ruta de obtención y publicación, así que no puedo entender por qué es diferente con la ruta de inicio de sesión ya que hice la ruta de registro copiando y pegando el archivo js de rutas de inicio de sesión.Aquí está el código para la aplicación
const express = require("express"), bodyParser = require('body-parser'), rta = require('./RTAuth.js'), mysql = require('mysql'), app = express(), port = 8080; //app.use(bodyParser.urlencoded({ extended: false })); app.use(express.json()); app.use(express.urlencoded({ extended: false })); //app.use(bodyparser.urlencoded({ extended : true })); //app.use(express.json({ limit: "200mb" })); app.use(function(req,res, next) { res.locals.loginDB = mysql.createConnection({ host: "localhost", user: "removed before posting", database: "removed before posting", password: "removed before posting" }); res.locals.rta = rta; next(); }); //ImportRoutes const loginRouter = require("./routes/login"); const registerRouter = require("./routes/register"); //Setup ImportRoutes app.use("/AuthTest/login", loginRouter); app.use("/AuthTest/register", registerRouter); app.listen(port, () => {console.log("its alive!")});
Incluí el código comentado que he probado. Ahora, aquí está la ruta problemática hasta la parte en la que falla, así que ignore los paréntesis faltantes después de la devolución, el resto es irrelevante ya que su flujo se interrumpe con la declaración de devolución.
const express = require("express"); //Setup express server routers const router = express.Router(); //On get request router.get('/', async (req, res) => { var test = req.body; res.status(200).send({ success: false, message: "Test.", body: test, headers: req.headers }); return;
Imagen del resultado de la publicación después de convertir la ruta en una ruta de publicación
OMG GRACIAS @Phil, lo que dijo sobre el código 404, lo que significa que la publicación todavía estaba tratando de hacer una solicitud de obtención, me hizo recordar de repente que hace mucho tiempo hice una carpeta llamada "iniciar sesión" en la carpeta de aplicaciones en la carpeta publichtml de mi sitio web. Lo que significa que en lugar de llamar a express estaba interpretando mi solicitud como un get, creo que porque después de eliminar la carpeta pude usar el punto final /login en lugar de /logins que funcionó y fue el clavo en la cabeza para resolver esto.