Mi principal archivo server.js
const koa = require("koa"); const Router = require("koa-router"); const bodyParser = require("koa-bodyparser"); const app = new koa(); var router = new Router(); // app.use(bodyParser({ enableTypes: ["json", "text"] })); // I have also tried passing enabletypes parameteres but it still is not working.. app.use(bodyParser()); app.use(router.routes()); app.use(router.allowedMethods()); router.post("/", async (ctx) => { console.log(ctx); }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server started on port no ${PORT}`));Cuando llegué a este punto final de router.post ("/") ... solo con el propósito de ver mi objeto de contexto, registré el objeto de contexto en la consola y muestra lo siguiente en la consola cuando llegué a este punto final usando cartero (soy enviar cuerpo JSON en la solicitud)
Mi solicitud de cartero
¿Cómo accedo a mi cuerpo (objeto JSON)?
Para acceder a su objeto de cuerpo, intente lo siguiente:
const body = ctx.request.body;En segundo lugar: porque en uno de los comentarios había una nota, por qué te sale un 404. Supongo que es porque en tu ruta no estás devolviendo nada. Entonces su ruta podría verse así:
router.post("/", async (ctx) => { const body = ctx.request.body; console.log(body); return (true) // or whatever you want to return to the client });Sugeriría usar algo para devolver, es decir, si no devuelve nada, obtendrá un 404 con Koa. Simplemente configure el cuerpo de ctx, es decir ctx.body="something here" .
Aparte de eso, dependiendo de lo que esté usando en la aplicación para presionarlo, Postman puede funcionar ligeramente diferente y pasar encabezados adicionales, etc. la aplicación algo está un poco fuera de lugar. SOLO me encontré con esto con Koa y nunca lo expreso, por lo que podría valer la pena verificar e iniciar sesión en el camino DENTRO de la aplicación.