]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Portuguese translation of `tutorial/extra-data-types.md` (#4077)
authorLuccas Mateus <Luccasmmg@gmail.com>
Mon, 9 May 2022 18:19:49 +0000 (15:19 -0300)
committerGitHub <noreply@github.com>
Mon, 9 May 2022 18:19:49 +0000 (18:19 +0000)
Co-authored-by: Lorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
docs/pt/docs/tutorial/extra-data-types.md [new file with mode: 0644]
docs/pt/mkdocs.yml

diff --git a/docs/pt/docs/tutorial/extra-data-types.md b/docs/pt/docs/tutorial/extra-data-types.md
new file mode 100644 (file)
index 0000000..e4b9913
--- /dev/null
@@ -0,0 +1,66 @@
+# Tipos de dados extras
+
+Até agora, você tem usado tipos de dados comuns, tais como:
+
+* `int`
+* `float`
+* `str`
+* `bool`
+
+Mas você também pode usar tipos de dados mais complexos.
+
+E você ainda terá os mesmos recursos que viu até agora:
+
+* Ótimo suporte do editor.
+* Conversão de dados das requisições recebidas.
+* Conversão de dados para os dados da resposta.
+* Validação de dados.
+* Anotação e documentação automáticas.
+
+## Outros tipos de dados
+
+Aqui estão alguns dos tipos de dados adicionais que você pode usar:
+
+* `UUID`:
+    * Um "Identificador Universalmente Único" padrão, comumente usado como ID em muitos bancos de dados e sistemas.
+    * Em requisições e respostas será representado como uma `str`.
+* `datetime.datetime`:
+    * O `datetime.datetime` do Python.
+    * Em requisições e respostas será representado como uma `str` no formato ISO 8601, exemplo: `2008-09-15T15:53:00+05:00`.
+* `datetime.date`:
+    * O `datetime.date` do Python.
+    * Em requisições e respostas será representado como uma `str` no formato ISO 8601, exemplo: `2008-09-15`.
+* `datetime.time`:
+    * O `datetime.time` do Python.
+    * Em requisições e respostas será representado como uma `str` no formato ISO 8601, exemplo: `14:23:55.003`.
+* `datetime.timedelta`:
+    * O `datetime.timedelta` do Python.
+    * Em requisições e respostas será representado como um `float` de segundos totais.
+    * O Pydantic também permite representá-lo como uma "codificação ISO 8601 diferença de tempo", <a href="https://pydantic-docs.helpmanual.io/#json-serialisation" class="external-link" target="_blank">cheque a documentação para mais informações</a>.
+* `frozenset`:
+    * Em requisições e respostas, será tratado da mesma forma que um `set`:
+        * Nas requisições, uma lista será lida, eliminando duplicadas e convertendo-a em um `set`.
+        * Nas respostas, o `set` será convertido para uma `list`.
+        * O esquema gerado vai especificar que os valores do `set` são unicos (usando o `uniqueItems` do JSON Schema).
+* `bytes`:
+    * O `bytes` padrão do Python.
+    * Em requisições e respostas será representado como uma `str`.
+    * O esquema gerado vai especificar que é uma `str` com o "formato" `binary`.
+* `Decimal`:
+    * O `Decimal` padrão do Python.
+    * Em requisições e respostas será representado como um `float`.
+* Você pode checar todos os tipos de dados válidos do Pydantic aqui: <a href="https://pydantic-docs.helpmanual.io/usage/types" class="external-link" target="_blank">Tipos de dados do Pydantic</a>.
+
+## Exemplo
+
+Aqui está um exemplo de *operação de rota* com parâmetros utilizando-se de alguns dos tipos acima.
+
+```Python hl_lines="1  3  12-16"
+{!../../../docs_src/extra_data_types/tutorial001.py!}
+```
+
+Note que os parâmetros dentro da função tem seu tipo de dados natural, e você pode, por exemplo, realizar manipulações normais de data, como:
+
+```Python hl_lines="18-19"
+{!../../../docs_src/extra_data_types/tutorial001.py!}
+```
index 4861602e444c6c7c833babed4be3973635384407..29dafa496262f9371c77b6df5a50728de906716d 100644 (file)
@@ -61,6 +61,7 @@ nav:
   - tutorial/first-steps.md
   - tutorial/path-params.md
   - tutorial/body-fields.md
+  - tutorial/extra-data-types.md
   - tutorial/query-params-str-validations.md
   - Segurança:
     - tutorial/security/index.md