Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando você trabalha com webhooks e APIs, precisa ficar atento à forma como o Express lida com o corpo da requisição.
No meu time, já passamos por isso: usar express.json para receber JSON padrão funciona bem na maioria dos casos. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
Porém, em situações específicas, como validar uma assinatura de webhook do Stripe, o corpo precisa ser recebido na forma bruta, sem parsing. Caso contrário, o hash da assinatura não bate. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
A solução que encontrei foi usar express.raw com o tipo correto antes do express.json.
Exemplo:
app.use(express.raw({ type: 'application/json' })). app.use(express.json()).
Assim, o middleware de corpo bruto captura os webhooks, e o JSON funciona normalmente. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
No seu cenário, é importante garantir a ordem e o tipo de conteúdo. Senão, acaba tendo que fazer parsing manual ou lidar com erros de assinatura. Isso pesa na operação, principalmente em ambientes de alta requisição. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Já passaram por isso também? Como vocês lidam com validações de webhook na prática? Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
A dica é sempre testar em ambiente controlado antes de deploy, pra evitar surpresas na produção. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
Carregando comentários...