-
Notifications
You must be signed in to change notification settings - Fork 74
Commit
Removendo instalação do `pydantic[email]`
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,7 +38,7 @@ No desenvolvimento de APIs, existem quatro ações principais que fazemos com os | |
CRUD é um acrônimo que representa as quatro operações básicas que você pode realizar em qualquer banco de dados persistente: | ||
|
||
- **C**reate (Criar): adicionar novos registros ao banco de dados. | ||
- **R**ead (Ler): recuperar registros existentes do banco de dados. | ||
- **R**ead (Ler): recuperar registros existentes do banco de dados. | ||
- **U**pdate (Atualizar): modificar registros existentes no banco de dados. | ||
- **D**elete (Excluir): remover registros existentes do banco de dados. | ||
|
||
|
@@ -275,22 +275,6 @@ class UserPublic(BaseModel): | |
email: EmailStr | ||
``` | ||
|
||
Embora essa seja um definição valida do schema, o pydantic depende que a extensão de emails seja instalada em nosso ambiente. Ao executar o servidor, podemos ver que o erro é bastante descritivo: | ||
|
||
```python | ||
File "<...>/.venv/<...>/pydantic/networks.py", line 354, in import_email_validator | ||
raise ImportError('email-validator is not installed, run `pip install pydantic[email]`') from e | ||
ImportError: email-validator is not installed, run `pip install pydantic[email]` | ||
``` | ||
|
||
Traduzindo de forma literal, teríamos algo como: `#!python ImportError: email-validator não está instalado, rode 'pip install pydantic[email]'`. | ||
|
||
Como estamos usando o poetry como gerenciador de pacotes, podemos executar dessa forma: | ||
|
||
```shell title="$ Execução no terminal!" | ||
poetry add "pydantic[email]" | ||
``` | ||
|
||
Com isso, o pydantic irá oferecer um exemplo de email no swagger `"[email protected]"` e acerta os schemas para fazer essas validações: | ||
|
||
![descrição](assets/03/schema_com_email_no_swagger.png){: .center .shadow } | ||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.