~/questoes/programacao
Schemas Pydantic funcionam como um contrato entre o cliente e o servidor, validando automaticamente os dados recebidos em uma requisição. Eles garantem que apenas dados corretos, nos tipos certos e dentro das regras esperadas, cheguem à lógica da sua aplicação.
Os schemas Pydantic validam os dados recebidos nas requisições e garantem sua integridade. Quando um cliente envia dados para sua API, o Pydantic verifica automaticamente se estão no formato esperado, se os tipos estão corretos e se atendem às regras definidas, rejeitando requisições malformadas antes de executar qualquer lógica.
Armazenar dados no banco de dados é responsabilidade de modelos ORM (como SQLAlchemy) ou do driver de banco de dados, não dos schemas Pydantic. Os schemas validam antes, mas não fazem a persistência.
Esta é a função principal. Os schemas Pydantic recebem os dados da requisição, validam tipos de dados, campos obrigatórios, comprimentos mínimos/máximos e outras regras, rejeitando o que não atende aos critérios.
Criptografia de senhas é feita com bibliotecas como bcrypt ou passlib, não com schemas Pydantic. Os schemas validam que a senha foi fornecida, mas o hash é responsabilidade de funções específicas de segurança.
Geração de tokens JWT é feita por bibliotecas como python-jose, geralmente em um endpoint de login separado. Os schemas validam os dados de entrada, mas não geram tokens automaticamente.