You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Olá. Obrigado por este excelente projeto!
Atualmente, estou seguindo este material didático e estou aprendendo muito com o conteúdo altamente prático!
Tenho uma sugestão relacionada ao título.
Verifiquei que a validação no endpoint POST para criar um novo usuário (função create_user) está da seguinte forma nas seções
5 e 6, respectivamente.
/fast_zero/app.py
Conforme abaixo, a verificação "se já existe um usuário com o mesmo username" implementada na seção 5 foi removida e substituída por uma verificação "se já existe um usuário com o mesmo email".
(Notei essa alteração somente mais tarde, pois não havia uma explicação específica sobre essa mudança e ela não estava destacada.)
No modelo User, tanto o campo username quanto o email possuem a especificação unique=True.
Portanto, a partir da seção 6, ao criar um usuário por meio do Swagger UI, se for enviada uma solicitação POST com um "username que já existe no banco de dados", ocorrerá um ServerError.
(já que a validação do username foi removida na seção 6).
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: users.username
[SQL: INSERT INTO users (username, password, email) VALUES (?, ?, ?) RETURNING id, created_at]
[parameters: ('string', '$2b$12$sbvOc6JGKxNxmqTol1vfCugZOc4eM05kYQo0j8IIvM8OD9oCMVdJq', 'user2@example.com')]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
Em vez de um ServerError, acredito que seja necessário retornar uma mensagem de erro apropriada para o cliente. Portanto, o que você acha de adicionar validações tanto para o email quanto para o username na função create_user, conforme abaixo?
Olá. Obrigado por este excelente projeto!
Atualmente, estou seguindo este material didático e estou aprendendo muito com o conteúdo altamente prático!
Tenho uma sugestão relacionada ao título.
Verifiquei que a validação no endpoint POST para criar um novo usuário (função create_user) está da seguinte forma nas seções
5 e 6, respectivamente.
Seção 5 (Integrando Banco de Dados a API)
/fast_zero/app.py
Neste ponto, a validação é feita conforme abaixo, verificando "se já existe um usuário com o mesmo username".
Seção 6 (Autenticação e Autorização com JWT)
/fast_zero/app.py
Conforme abaixo, a verificação "se já existe um usuário com o mesmo username" implementada na seção 5 foi removida e substituída por uma verificação "se já existe um usuário com o mesmo email".
(Notei essa alteração somente mais tarde, pois não havia uma explicação específica sobre essa mudança e ela não estava destacada.)
No modelo User, tanto o campo
username
quanto oemail
possuem a especificaçãounique=True
.Portanto, a partir da seção 6, ao criar um usuário por meio do Swagger UI, se for enviada uma solicitação POST com um "username que já existe no banco de dados", ocorrerá um ServerError.
(já que a validação do username foi removida na seção 6).
Em vez de um ServerError, acredito que seja necessário retornar uma mensagem de erro apropriada para o cliente. Portanto, o que você acha de adicionar validações tanto para o email quanto para o username na função create_user, conforme abaixo?
Desculpe-me por mencionar um detalhe tão pequeno, mas ficaria feliz em ouvir sua opinião.
The text was updated successfully, but these errors were encountered: