From 7ef74738bcb1197b3fd551f197963c57a45bd7fd Mon Sep 17 00:00:00 2001 From: Rafael de Oliveira Marques Date: Wed, 12 Nov 2025 08:19:23 -0300 Subject: [PATCH] update index.md --- docs/pt/docs/index.md | 82 +++++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/docs/pt/docs/index.md b/docs/pt/docs/index.md index a361913c3..43bae7a10 100644 --- a/docs/pt/docs/index.md +++ b/docs/pt/docs/index.md @@ -1,11 +1,11 @@ -# FastAPI +# FastAPI { #fastapi }

- FastAPI + FastAPI

Framework FastAPI, alta performance, fácil de aprender, fácil de codar, pronto para produção @@ -27,7 +27,7 @@ --- -**Documentação**: https://fastapi.tiangolo.com +**Documentação**: https://fastapi.tiangolo.com **Código fonte**: https://github.com/fastapi/fastapi @@ -40,15 +40,15 @@ Os recursos chave são: * **Rápido**: alta performance, equivalente a **NodeJS** e **Go** (graças ao Starlette e Pydantic). [Um dos frameworks mais rápidos disponíveis](#performance). * **Rápido para codar**: Aumenta a velocidade para desenvolver recursos entre 200% a 300%. * * **Poucos bugs**: Reduz cerca de 40% de erros induzidos por humanos (desenvolvedores). * -* **Intuitivo**: Grande suporte a _IDEs_. _Auto-Complete_ em todos os lugares. Menos tempo debugando. +* **Intuitivo**: Grande suporte a _IDEs_. Preenchimento automático em todos os lugares. Menos tempo debugando. * **Fácil**: Projetado para ser fácil de aprender e usar. Menos tempo lendo documentação. -* **Enxuto**: Minimize duplicação de código. Múltiplos recursos para cada declaração de parâmetro. Menos bugs. +* **Enxuto**: Minimize duplicação de código. Múltiplas funcionalidades para cada declaração de parâmetro. Menos bugs. * **Robusto**: Tenha código pronto para produção. E com documentação interativa automática. -* **Baseado em padrões**: Baseado em (e totalmente compatível com) os padrões abertos para APIs: OpenAPI (anteriormente conhecido como Swagger) e _JSON Schema_. +* **Baseado em padrões**: Baseado em (e totalmente compatível com) os padrões abertos para APIs: OpenAPI (anteriormente conhecido como Swagger) e JSON Schema. * estimativas baseadas em testes realizados com equipe interna de desenvolvimento, construindo aplicações em produção. -## Patrocinadores Ouro +## Patrocinadores { #sponsors } @@ -63,9 +63,9 @@ Os recursos chave são: -Outros patrocinadores +Outros patrocinadores -## Opiniões +## Opiniões { #opinions } "*[...] Estou usando **FastAPI** muito esses dias. [...] Estou na verdade planejando utilizar ele em todos os times de **serviços _Machine Learning_ na Microsoft**. Alguns deles estão sendo integrados no _core_ do produto **Windows** e alguns produtos **Office**.*" @@ -111,24 +111,24 @@ Os recursos chave são: --- -## **Typer**, o FastAPI das interfaces de linhas de comando +## **Typer**, o FastAPI das interfaces de linhas de comando { #typer-the-fastapi-of-clis } -Se você estiver construindo uma aplicação _CLI_ para ser utilizada em um terminal ao invés de uma aplicação web, dê uma olhada no **Typer**. +Se você estiver construindo uma aplicação CLI para ser utilizada em um terminal ao invés de uma aplicação web, dê uma olhada no **Typer**. **Typer** é o irmão menor do FastAPI. E seu propósito é ser o **FastAPI das _CLIs_**. ⌨️ 🚀 -## Requisitos +## Requisitos { #requirements } FastAPI está nos ombros de gigantes: * Starlette para as partes web. * Pydantic para a parte de dados. -## Instalação +## Instalação { #installation } -Crie e ative um ambiente virtual, e então instale o FastAPI: +Crie e ative um ambiente virtual e então instale o FastAPI:

@@ -142,11 +142,11 @@ $ pip install "fastapi[standard]" **Nota**: Certifique-se de que você colocou `"fastapi[standard]"` com aspas, para garantir que funcione em todos os terminais. -## Exemplo +## Exemplo { #example } -### Crie +### Crie { #create-it } -* Crie um arquivo `main.py` com: +Crie um arquivo `main.py` com: ```Python from typing import Union @@ -191,11 +191,11 @@ async def read_item(item_id: int, q: Union[str, None] = None): **Nota**: -Se você não sabe, verifique a seção _"Com pressa?"_ sobre `async` e `await` nas docs. +Se você não sabe, verifique a seção _"Com pressa?"_ sobre `async` e `await` nas docs. -### Rode +### Rode { #run-it } Rode o servidor com: @@ -237,7 +237,7 @@ Você pode ler mais sobre isso na http://127.0.0.1:8000/items/5?q=somequery. @@ -254,7 +254,7 @@ Você acabou de criar uma API que: * A _rota_ `/items/{item_id}` tem um _parâmetro de rota_ `item_id` que deve ser um `int`. * A _rota_ `/items/{item_id}` tem um _parâmetro query_ `q` `str` opcional. -### Documentação Interativa da API +### Documentação Interativa da API { #interactive-api-docs } Agora vá para http://127.0.0.1:8000/docs. @@ -262,7 +262,7 @@ Você verá a documentação automática interativa da API (fornecida por http://127.0.0.1:8000/redoc. @@ -270,7 +270,7 @@ Você verá a documentação automática alternativa (fornecida por http://127.0.0.1:8000/docs. @@ -324,7 +324,7 @@ Agora vá para http://127.0.0.1:8000/redoc. @@ -332,7 +332,7 @@ E agora, vá para Conversão de dados de entrada: vindo da rede para dados e tipos Python. Consegue ler: +* Conversão de dados de entrada: vindo da rede para dados e tipos Python. Consegue ler: * JSON. * Parâmetros de rota. * Parâmetros de _query_ . @@ -370,7 +370,7 @@ item: Item * Cabeçalhos. * Formulários. * Arquivos. -* Conversão de dados de saída de tipos e dados Python para dados de rede (como JSON): +* Conversão de dados de saída de tipos e dados Python para dados de rede (como JSON): * Converte tipos Python (`str`, `int`, `float`, `bool`, `list` etc). * Objetos `datetime`. * Objetos `UUID`. @@ -390,7 +390,7 @@ Voltando ao código do exemplo anterior, **FastAPI** irá: * Verificar se existe um parâmetro de _query_ opcional nomeado como `q` (como em `http://127.0.0.1:8000/items/foo?q=somequery`) para requisições `GET`. * Como o parâmetro `q` é declarado com `= None`, ele é opcional. * Sem o `None` ele poderia ser obrigatório (como o corpo no caso de `PUT`). -* Para requisições `PUT` para `/items/{item_id}`, lerá o corpo como JSON e: +* Para requisições `PUT` para `/items/{item_id}`, lerá o corpo como JSON: * Verifica que tem um atributo obrigatório `name` que deve ser `str`. * Verifica que tem um atributo obrigatório `price` que deve ser `float`. * Verifica que tem an atributo opcional `is_offer`, que deve ser `bool`, se presente. @@ -444,18 +444,17 @@ Para um exemplo mais completo incluindo mais recursos, veja um dos _frameworks_ Python mais rápidos disponíveis, somente atrás de Starlette e Uvicorn (utilizados internamente pelo FastAPI). (*) Para entender mais sobre performance, veja a seção Comparações. -## Dependências +## Dependências { #dependencies } O FastAPI depende do Pydantic e do Starlette. - -### Dependências `standard` +### Dependências `standard` { #standard-dependencies } Quando você instala o FastAPI com `pip install "fastapi[standard]"`, ele vêm com o grupo `standard` (padrão) de dependências opcionais: @@ -467,18 +466,23 @@ Utilizado pelo Starlette: * httpx - Obrigatório caso você queira utilizar o `TestClient`. * jinja2 - Obrigatório se você quer utilizar a configuração padrão de templates. -* python-multipart - Obrigatório se você deseja suporte a "parsing" de formulário, com `request.form()`. +* python-multipart - Obrigatório se você deseja suporte a "parsing" de formulário, com `request.form()`. -Utilizado pelo FastAPI / Starlette: +Utilizado pelo FastAPI: * uvicorn - para o servidor que carrega e serve a sua aplicação. Isto inclui `uvicorn[standard]`, que inclui algumas dependências (e.g. `uvloop`) necessárias para servir em alta performance. -* `fastapi-cli` - que disponibiliza o comando `fastapi`. +* `fastapi-cli[standard]` - que disponibiliza o comando `fastapi`. + * Isso inclui `fastapi-cloud-cli`, que permite implantar sua aplicação FastAPI na FastAPI Cloud. -### Sem as dependências `standard` +### Sem as dependências `standard` { #without-standard-dependencies } Se você não deseja incluir as dependências opcionais `standard`, você pode instalar utilizando `pip install fastapi` ao invés de `pip install "fastapi[standard]"`. -### Dpendências opcionais adicionais +### Sem o `fastapi-cloud-cli` { #without-fastapi-cloud-cli } + +Se você quiser instalar o FastAPI com as dependências padrão, mas sem o `fastapi-cloud-cli`, você pode instalar com `pip install "fastapi[standard-no-fastapi-cloud-cli]"`. + +### Dependências opcionais adicionais { #additional-optional-dependencies } Existem algumas dependências adicionais que você pode querer instalar. @@ -492,6 +496,6 @@ Dependências opcionais adicionais do FastAPI: * orjson - Obrigatório se você deseja utilizar o `ORJSONResponse`. * ujson - Obrigatório se você deseja utilizar o `UJSONResponse`. -## Licença +## Licença { #license } Esse projeto é licenciado sob os termos da licença MIT.