Попробуйте использовать анализатор КоА тела:
const bodyParser = require('koa-bodyparser')
app.use(bodyParser())
Я думаю КоА-маршрутизатор будет анализировать типичный запрос материал, URL Params, форму и т.д. Если вы хотите, чтобы разобрать тело запроса, который содержит JSON объект вам нужно применить промежуточное программное обеспечение (в качестве alex намечено).
Также, пожалуйста, проверьте, если вы ставите действительный JSON.
Взгляните на этот Коа-bodyparser:
/**
* @param [Object] opts
* - {String} jsonLimit default '1mb'
* - {String} formLimit default '56kb'
* - {string} encoding default 'utf-8'
*/
return function *bodyParser(next) {
if (this.request.body !== undefined) {
return yield* next;
}
if (this.is('json')) {
this.request.body = yield parse.json(this, jsonOpts);
} else if (this.is('urlencoded')) {
this.request.body = yield parse.form(this, formOpts);
} else {
this.request.body = null;
}
yield* next;
};
там выглядит предел 1mb на сумму JSON. затем в co-body/lib/json.js
module.exports = function(req, opts){
req = req.req || req;
opts = opts || {};
// defaults
var len = req.headers['content-length'];
if (len) opts.length = ~~len;
opts.encoding = opts.encoding || 'utf8';
opts.limit = opts.limit || '1mb';
return function(done){
raw(req, opts, function(err, str){
if (err) return done(err);
try {
done(null, JSON.parse(str));
} catch (err) {
err.status = 400;
err.body = str;
done(err);
}
});
}
};
Какое промежуточное программное обеспечение используется для анализа тела запроса? –
Я использую 'koa-route', который, кажется, автоматически анализирует тело запроса? – Felix