POST/api/auth/login200 OK
Envio
{
"email": "ana@exemplo.com",
"senha": "senha-forte-aqui"
}
Resposta
{
"token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbmFAZXhlbXBsby5jb20i...",
"tipo": "Bearer",
"expiraEmSegundos": 3600
}
O token já vem com a validade dele na resposta.
POST/api/produtos400 Bad Request
Authorization: Bearer <token>
Envio
{
"nome": "",
"preco": -10
}
Resposta
{
"type": "about:blank",
"title": "Erro de validação",
"status": 400,
"detail": "Um ou mais campos são inválidos",
"erros": {
"nome": "nome é obrigatório",
"preco": "preco deve ser maior que zero",
"estoque": "estoque é obrigatório"
}
}
Quando a validação falha, a resposta diz qual campo e por quê.