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:

10 Comentários

  • Foto de Arthur Ronconi
    Arthur Ronconi
    Hélio, todos os códigos e ações do plugin podem ser encontrados no próprio script do plugin. Dá uma olhada lá! =D
  • Foto de Marcelo Alexandre
    Marcelo Alexandre
    É a melhor função para validação de data em Javascript que já analisei! Parabéns!
  • Foto de Aristides
    Aristides
    SHOW
  • Foto de Anônimo
    Anônimo
    Obrigado!!!
  • Foto de Anônimo
    Anônimo
    Obrigado!
  • Foto de bretas
    bretas
    Muito bom valeu muito!!!
  • Foto de Cristiano
    Cristiano
    Meu nobre, Boa tarde! Artigo excelente e função melhor ainda. Me ajudou bastante em um dos meus projetos. Inclusive, adicionei a validação da hora, caso seja digitada. Um forte abraço!
  • Foto de Matheus Costa
    Matheus Costa
    muito massa ! sempre me perguntava o porque JS tinha Java no nome, visto que não vivi a época do Netscape Navigator
  • Foto de José Lopes
    José Lopes
    Ainda tenho duvidas entre ele e o Joomla, o WordPress parece que tem umas limitações que o Joomla não tem
  • Foto de Arthur Ronconi
    Arthur Ronconi
    Quais limitações?

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