Como pegar o corpo da requisição (raw body) no Express JS?
Por padrão, quando estamos programando nossa API com Express.js, todas as requisições que a API recebe vêm em formato de texto. Por esse motivo, precisamos "parsear" o corpo da requisição que recebemos, ou seja, interpretar o JSON que chega como texto e transformá-lo em um objeto JavaScript.
Para configurar a função do parser em nossa API é simples. Nesse caso, o próprio Express.js (a partir da versão 4) traz consigo um método que resolve nosso problema com uma única linha de código:
app.use(express.json())
No entanto, ao depender do tipo de aplicação que estamos programando, precisamos também pegar o corpo da requisição em texto, sem utilizar qualquer função parser. A seguir, passamos uma função como parâmetro de express.json()
para pegar nossos dados em texto:
app.use(express.json({
verify: function (req, res, buf) {
req.rawBody = buf
}
}))
A partir disso, não só corpo em texto ficará disponível na variável req.rawBody
, mas também os dados em JSON (se houver) ficarão disponíveis na variável req.body
. Simplicidade que só o Express.js tem.
O que achou do artigo?
Escreva um comentário, deixe-me saber o que achou do artigo. Se tens uma dúvida basta perguntar:
Resposta ao comentário:
10 Comentários