ctx.request.body
body-parser ミドルウェアなしで投稿から読みたいです。
const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();
app.use(router.routes());
router.post('/publish', async (ctx, next) => {
let msg = JSON.stringify(ctx.request.body);
console.log(msg); //undefined
console.log(ctx.request.body); //undefined
console.log(ctx.req.body); //undefined
});
app.listen(process.env.PORT);
を使用するcurl -X POST -H "Content-Type: application/json" -d '{"key":"val"}' 'http://localhost:8080/publish'
と、3つの未定義が得られます。
この問題を解決するにはどうすればよいですか? koa が を解析できないことは知っていますreq.body
が、なぜ機能しないJSON.stringify(ctx.request.body)
のですか?