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.


Tags:

  • ExpressJS
  • Parser
  • Request

Compartilhar:

    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:
    Loading...