ANÚNCIO

~/questoes/programacao

O que acontece se um cliente enviar dados malformados para um endpoint FastAPI?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência FastAPI: Criar conta de usuário, Schemas e Criptografia
Para fixar

Validação Automática de Dados em FastAPI com Pydantic

Conceito central

Quando um cliente envia dados malformados para um endpoint FastAPI, o Pydantic valida automaticamente esses dados antes de chegarem à sua lógica de negócio. Se os dados não correspondem ao schema definido, a requisição é rejeitada imediatamente com um erro 400 Bad Request, protegendo sua aplicação contra dados inválidos.

Por que essa resposta faz sentido

O Pydantic, integrado nativamente ao FastAPI, rejeita automaticamente dados malformados e retorna um erro 400 Bad Request com detalhes específicos sobre quais campos estão inválidos. Isso evita que dados ruins cheguem ao seu banco de dados ou lógica de negócio.

Armadilhas comuns

  • Achar que FastAPI permite dados malformados entrarem na aplicação e você precisa validar manualmente dentro da função do endpoint
  • Confundir validação de schema com validação de regras de negócio (como verificar se um email já existe no banco) — o Pydantic valida o tipo e formato, você valida as regras
  • Pensar que dados inválidos são salvos no banco com valores padrão — na verdade, a requisição é rejeitada antes disso acontecer

Entenda as alternativas

A

FastAPI não redireciona dados malformados para validação manual. Justamente o oposto: a validação é automática e você não precisa lidar com isso manualmente. O Pydantic faz tudo nos bastidores.

B

Dados malformados nunca são salvos no banco com valores padrão. FastAPI rejeita a requisição antes dela chegar ao banco de dados. Isso é uma proteção importante para manter a integridade dos seus registros.

C

Esta é a resposta correta. O Pydantic valida automaticamente e rejeita dados malformados, retornando erro 400 Bad Request. O cliente recebe uma resposta clara sobre quais campos estão inválidos, permitindo corrigir o problema.

D

O servidor não ignora dados malformados silenciosamente. FastAPI retorna um erro explícito (400 Bad Request) para avisar o cliente que algo está errado. Ignorar dados ruins é uma prática perigosa.

Dica prática: Ao criar um schema Pydantic para seu endpoint, sempre defina tipos de dados, valores mínimos/máximos, padrões de validação (como email válido) e campos obrigatórios. FastAPI automaticamente rejeita qualquer coisa que não corresponda — você não precisa escrever lógica if/else para cada campo.

Revise pensando: Se um usuário enviar uma senha vazia ou um email inválido para criar uma conta, o que FastAPI faz?