From 9c5b000956940f74847d9efda75dd9fb4cce4033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rio=20Victor=20Ribeiro=20Silva?= Date: Fri, 2 Jul 2021 12:00:11 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90=20Portuguese=20translation=20of=20?= =?UTF-8?q?Tutorial=20-=20Body=20-=20Fields=20(#3420)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastián Ramírez --- docs/pt/docs/tutorial/body-fields.md | 48 ++++++++++++++++++++++++++++ docs/pt/mkdocs.yml | 1 + 2 files changed, 49 insertions(+) create mode 100644 docs/pt/docs/tutorial/body-fields.md diff --git a/docs/pt/docs/tutorial/body-fields.md b/docs/pt/docs/tutorial/body-fields.md new file mode 100644 index 000000000..8f3313ae9 --- /dev/null +++ b/docs/pt/docs/tutorial/body-fields.md @@ -0,0 +1,48 @@ +# Corpo - Campos + +Da mesma forma que você pode declarar validações adicionais e metadados nos parâmetros de *funções de operações de rota* com `Query`, `Path` e `Body`, você pode declarar validações e metadados dentro de modelos do Pydantic usando `Field` do Pydantic. + +## Importe `Field` + +Primeiro, você tem que importá-lo: + +```Python hl_lines="4" +{!../../../docs_src/body_fields/tutorial001.py!} +``` + +!!! warning "Aviso" + Note que `Field` é importado diretamente do `pydantic`, não do `fastapi` como todo o resto (`Query`, `Path`, `Body`, etc). + +## Declare atributos do modelo + +Você pode então utilizar `Field` com atributos do modelo: + +```Python hl_lines="11-14" +{!../../../docs_src/body_fields/tutorial001.py!} +``` + +`Field` funciona da mesma forma que `Query`, `Path` e `Body`, ele possui todos os mesmos parâmetros, etc. + +!!! note "Detalhes técnicos" + Na realidade, `Query`, `Path` e outros que você verá em seguida, criam objetos de subclasses de uma classe `Param` comum, que é ela mesma uma subclasse da classe `FieldInfo` do Pydantic. + + E `Field` do Pydantic retorna uma instância de `FieldInfo` também. + + `Body` também retorna objetos de uma subclasse de `FieldInfo` diretamente. E tem outras que você verá mais tarde que são subclasses da classe `Body`. + + Lembre-se que quando você importa `Query`, `Path`, e outros de `fastapi`, esse são na realidade funções que retornam classes especiais. + +!!! tip "Dica" + Note como cada atributo do modelo com um tipo, valor padrão e `Field` possuem a mesma estrutura que parâmetros de *funções de operações de rota*, com `Field` ao invés de `Path`, `Query` e `Body`. + +## Adicione informações extras + +Você pode declarar informação extra em `Field`, `Query`, `Body`, etc. E isso será incluído no JSON Schema gerado. + +Você irá aprender mais sobre adicionar informações extras posteriormente nessa documentação, quando estiver aprendendo a declarar exemplos. + +## Recapitulando + +Você pode usar `Field` do Pydantic para declarar validações extras e metadados para atributos do modelo. + +Você também pode usar os argumentos de palavras-chave extras para passar metadados do JSON Schema adicionais. diff --git a/docs/pt/mkdocs.yml b/docs/pt/mkdocs.yml index 230012d3b..6102a859d 100644 --- a/docs/pt/mkdocs.yml +++ b/docs/pt/mkdocs.yml @@ -55,6 +55,7 @@ nav: - Tutorial - Guia de Usuário: - tutorial/index.md - tutorial/first-steps.md + - tutorial/body-fields.md - alternatives.md - history-design-future.md - external-links.md