Примечание : запросы Fastify могут только иметь req.body - они не могут иметь, например, req.body и req.rawBody, как другие веб-серверы (например, Express). Это потому, что addContentTypeParser()
возвращает только измененный body
, он не может добавить что-либо еще к запросу.
Вместо этого, в синтаксическом анализаторе типов контента мы только добавляем к одному маршруту , мы делаем:
req.body.parsed
(объект, тот же контент, который обычно был бы в req.body) req.body.raw
(строка)
Подробнее см. GitHub и addContentTypeParser () .
server.addContentTypeParser(
"application/json",
{ parseAs: "string" },
function (req, body, done) {
try {
var newBody = {
raw: body,
parsed: JSON.parse(body),
};
done(null, newBody);
} catch (error) {
error.statusCode = 400;
done(error, undefined);
}
}
);