@ -36,7 +36,7 @@ Django REST Framework foi criado por Tom Christie. O mesmo criador de Starlette
///
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Ter uma interface web de documentação automática da API.
@ -56,7 +56,7 @@ Esse desacoplamento de partes, e ser um "microframework" que pode ser estendido
Dada a simplicidade do Flask, ele parecia uma boa opção para construção de APIs. A próxima coisa a encontrar era um "Django REST Framework" para Flask.
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Ser um microframework. Tornar fácil misturar e combinar as ferramentas e partes necessárias.
@ -98,7 +98,7 @@ def read_url():
Veja as similaridades em `requests.get(...)` e `@app.get(...)`.
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
* Ter uma API simples e intuitiva.
* Utilizar nomes de métodos HTTP (operações) diretamente, de um jeito direto e intuitivo.
@ -118,7 +118,7 @@ Em algum ponto, Swagger foi doado para a Fundação Linux, para ser renomeado Op
É por isso que ao falar sobre a versão 2.0 é comum dizer "Swagger", e para a versão 3+ "OpenAPI".
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Adotar e usar um padrão aberto para especificações de API, em vez de um schema personalizado.
@ -147,7 +147,7 @@ Essas funcionalidades são o que o Marshmallow foi construído para fornecer. É
Mas ele foi criado antes de existirem as anotações de tipo do Python. Então, para definir cada <dfntitle="a definição de como os dados devem ser formados">schema</dfn> você precisa utilizar utilitários e classes específicos fornecidos pelo Marshmallow.
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Usar código para definir "schemas" que forneçam, automaticamente, tipos de dados e validação.
@ -163,13 +163,13 @@ Ele utiliza Marshmallow por baixo para a validação de dados. E foi criado pelo
É uma grande ferramenta e eu também a utilizei bastante, antes de ter o **FastAPI**.
/// info | Informação
/// note | Nota
Webargs foi criado pelos mesmos desenvolvedores do Marshmallow.
///
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Ter validação automática dos dados de requisições de entrada.
@ -193,13 +193,13 @@ Mas então, temos novamente o problema de ter uma micro-sintaxe, dentro de uma s
O editor não pode ajudar muito com isso. E se modificarmos parâmetros ou schemas do Marshmallow e esquecermos de também modificar aquela docstring em YAML, o schema gerado ficaria obsoleto.
/// info | Informação
/// note | Nota
APISpec foi criado pelos mesmos desenvolvedores do Marshmallow.
///
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Dar suporte ao padrão aberto para APIs, OpenAPI.
@ -225,13 +225,13 @@ Usá-la levou à criação de vários geradores Flask full-stack. Estas são as
E esses mesmos geradores full-stack foram a base dos [Geradores de Projetos **FastAPI**](project-generation.md).
/// info | Informação
/// note | Nota
Flask-apispec foi criado pelos mesmos desenvolvedores do Marshmallow.
///
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Gerar o schema OpenAPI automaticamente, a partir do mesmo código que define serialização e validação.
@ -251,7 +251,7 @@ Mas como os dados do TypeScript não são preservados após a compilação para
Ele não consegue lidar muito bem com modelos aninhados. Então, se o corpo JSON na requisição for um objeto JSON que contém campos internos que por sua vez são objetos JSON aninhados, ele não consegue ser documentado e validado apropriadamente.
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Usar tipos do Python para ter um ótimo suporte do editor.
@ -271,7 +271,7 @@ Ele claramente inspirou Uvicorn e Starlette, que atualmente são mais rápidos q
///
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Encontrar um jeito de ter uma performance insana.
@ -287,7 +287,7 @@ Ele é projetado para ter funções que recebem dois parâmetros, uma "request"
Então, validação de dados, serialização e documentação têm que ser feitos no código, não automaticamente. Ou eles têm que ser implementados como um framework acima do Falcon, como o Hug. Essa mesma distinção acontece em outros frameworks inspirados pelo design do Falcon, de ter um objeto de request e um objeto de response como parâmetros.
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Encontrar maneiras de obter uma ótima performance.
@ -313,7 +313,7 @@ O sistema de injeção de dependência exige pré-registro das dependências e e
As rotas são declaradas em um único lugar, usando funções declaradas em outros lugares (em vez de usar decorators que possam ser colocados diretamente acima da função que lida com o endpoint). Isso é mais próximo de como o Django faz do que de como o Flask (e o Starlette) fazem. Separa no código coisas que são relativamente bem acopladas.
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Definir validações extras para tipos de dados usando o valor "padrão" de atributos dos modelos. Isso melhora o suporte do editor, e não estava disponível no Pydantic antes.
@ -335,13 +335,13 @@ Ele tem um recurso interessante e incomum: usando o mesmo framework, é possíve
Como é baseado no padrão anterior para frameworks web Python síncronos (WSGI), ele não consegue lidar com Websockets e outras coisas, embora ainda tenha alta performance também.
/// info | Informação
/// note | Nota
Hug foi criado por Timothy Crosley, o mesmo criador do [`isort`](https://github.com/timothycrosley/isort), uma ótima ferramenta para ordenar automaticamente imports em arquivos Python.
///
/// check | Ideias que inspiraram o **FastAPI**
/// tip | Ideias que inspiraram o **FastAPI**
Hug inspirou partes do APIStar, e foi uma das ferramentas que achei mais promissoras, ao lado do APIStar.
@ -375,7 +375,7 @@ Ele não era mais um framework web de API, pois o criador precisava focar no Sta
Agora APIStar é um conjunto de ferramentas para validar especificações OpenAPI, não um framework web.
/// info | Informação
/// note | Nota
APIStar foi criado por Tom Christie. O mesmo cara que criou:
@ -385,7 +385,7 @@ APIStar foi criado por Tom Christie. O mesmo cara que criou:
///
/// check | Inspirou o **FastAPI** a
/// tip | Inspirou o **FastAPI** a
Existir.
@ -409,7 +409,7 @@ Isso o torna extremamente intuitivo.
Ele é comparável ao Marshmallow. Embora seja mais rápido que o Marshmallow em benchmarks. E como é baseado nas mesmas anotações de tipo do Python, o suporte do editor é ótimo.
/// check | **FastAPI** usa isso para
/// tip | **FastAPI** usa isso para
Controlar toda a validação de dados, serialização de dados e documentação automática de modelos (baseada no JSON Schema).
@ -452,7 +452,7 @@ No entanto, ele já está sendo utilizado como "padrão" por diversas ferramenta
///
/// check | **FastAPI** usa isso para
/// tip | **FastAPI** usa isso para
Controlar todas as partes web centrais. Adiciona funcionalidades por cima.
@ -470,7 +470,7 @@ Ele não é um framework web, mas sim um servidor. Por exemplo, ele não fornece
Ele é o servidor recomendado para Starlette e **FastAPI**.
/// check | **FastAPI** o recomenda como
/// tip | **FastAPI** o recomenda como
O principal servidor web para rodar aplicações **FastAPI**.
### `fastapi dev` com caminho { #fastapi-dev-with-path }
### `fastapi dev` com caminho ou com a opção de CLI `--entrypoint`{ #fastapi-dev-with-path-or-with-entrypoint-cli-option }
Você também pode passar o caminho do arquivo para o comando `fastapi dev`, e ele deduzirá o objeto da aplicação FastAPI a usar:
@ -103,7 +103,13 @@ Você também pode passar o caminho do arquivo para o comando `fastapi dev`, e e
$ fastapi dev main.py
```
Mas você teria que lembrar de passar o caminho correto toda vez que chamar o comando `fastapi`.
Ou, você também pode passar a opção `--entrypoint` para o comando `fastapi dev`:
```console
$ fastapi dev --entrypoint main:app
```
Mas você teria que lembrar de passar o caminho\entrypoint correto toda vez que chamar o comando `fastapi`.
Além disso, outras ferramentas podem não conseguir encontrá-la, por exemplo a [Extensão do VS Code](editor-support.md) ou a [FastAPI Cloud](https://fastapicloud.com), então é recomendado usar o `entrypoint` em `pyproject.toml`.
# Ajude o FastAPI - Obtenha ajuda { #help-fastapi-get-help }
# Ajuda { #help }
Você gosta do **FastAPI**?
Você gostaria de ajudar o FastAPI ou obter ajuda sobre o FastAPI?
Você gostaria de ajudar o FastAPI, outras pessoas usuárias e o autor?
Ou você gostaria de obter ajuda com o **FastAPI**?
Há maneiras muito simples de ajudar (várias envolvem apenas um ou dois cliques).
E também há várias formas de obter ajuda.
Há maneiras muito simples de ajudar e de obter ajuda.
## Assine a newsletter { #subscribe-to-the-newsletter }
@ -20,9 +14,13 @@ Você pode assinar a (infrequente) [newsletter do **FastAPI and friends**](newsl
* Mudanças incompatíveis 🚨
* Dicas e truques ✅
## Siga o FastAPI no X (Twitter) { #follow-fastapi-on-x-twitter }
## Siga o FastAPI online { #follow-fastapi-online }
[Siga @fastapi no **X (Twitter)**](https://x.com/fastapi) para receber as últimas notícias sobre o **FastAPI**. 🐦
Você pode seguir o **FastAPI** online em vários lugares:
* [@fastapi no **X / Twitter**](https://x.com/fastapi)
* [@fastapi.tiangolo.com no **Bluesky**](https://bsky.app/profile/fastapi.tiangolo.com)
* [FastAPI no **LinkedIn**](https://www.linkedin.com/company/fastapi/)
## Dê uma estrela ao **FastAPI** no GitHub { #star-fastapi-in-github }
@ -38,98 +36,28 @@ Lá você pode selecionar “Apenas lançamentos”.
Fazendo isso, você receberá notificações (no seu email) sempre que houver um novo lançamento (uma nova versão) do **FastAPI** com correções de bugs e novas funcionalidades.
## Conecte-se com o autor { #connect-with-the-author }
Você pode se conectar [comigo (Sebastián Ramírez / `tiangolo`)](https://tiangolo.com), o autor.
Você pode:
* [Me seguir no **GitHub**](https://github.com/tiangolo).
* Ver outros projetos Open Source que criei e que podem ajudar você.
* Me seguir para saber quando eu criar um novo projeto Open Source.
* [Me seguir no **X (Twitter)**](https://x.com/tiangolo) ou no [Mastodon](https://fosstodon.org/@tiangolo).
* Me contar como você usa o FastAPI (adoro saber disso).
* Ficar sabendo quando eu fizer anúncios ou lançar novas ferramentas.
* Você também pode [seguir @fastapi no X (Twitter)](https://x.com/fastapi) (uma conta separada).
* [Me seguir no **LinkedIn**](https://www.linkedin.com/in/tiangolo/).
* Ver quando eu fizer anúncios ou lançar novas ferramentas (embora eu use mais o X (Twitter) 🤷♂).
* Ler o que escrevo (ou me seguir) no [**Dev.to**](https://dev.to/tiangolo) ou no [**Medium**](https://medium.com/@tiangolo).
* Ler outras ideias, artigos e conhecer ferramentas que criei.
* Me seguir para ver quando eu publicar algo novo.
## Tweet sobre o **FastAPI** { #tweet-about-fastapi }
[Tweet sobre o **FastAPI**](https://x.com/compose/tweet?text=I'm loving @fastapi because... https://github.com/fastapi/fastapi) e conte para mim e para outras pessoas por que você gosta dele. 🎉
Eu adoro saber como o **FastAPI** está sendo usado, o que você tem curtido nele, em qual projeto/empresa você o utiliza, etc.
## Siga o autor { #follow-the-author }
## Vote no FastAPI { #vote-for-fastapi }
Você pode seguir [a mim (Sebastián Ramírez / `tiangolo`)](https://tiangolo.com), o autor, em alguns lugares, para saber quando eu tiver novidades para compartilhar sobre o FastAPI e amigos:
* [Vote no **FastAPI** no Slant](https://www.slant.co/options/34241/~fastapi-review).
* [Vote no **FastAPI** no AlternativeTo](https://alternativeto.net/software/fastapi/about/).
* [Diga que você usa o **FastAPI** no StackShare](https://stackshare.io/pypi-fastapi).
* [@tiangolo no **GitHub**](https://github.com/tiangolo).
* [@tiangolo no **X (Twitter)**](https://x.com/tiangolo)
* [@tiangolo.com no **Bluesky**](https://bsky.app/profile/tiangolo.com)
* [@tiangolo no **LinkedIn**](https://www.linkedin.com/in/tiangolo/).
## Ajude outras pessoas com perguntas no GitHub { #help-others-with-questions-in-github }
Você pode tentar ajudar outras pessoas com suas perguntas em:
Você pode tentar ajudar outras pessoas com suas perguntas no [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered).
Em muitos casos você já pode saber a resposta para aquelas perguntas. 🤓
Se você estiver ajudando muitas pessoas com suas perguntas, você se tornará um(a) [Especialista em FastAPI](fastapi-people.md#fastapi-experts) oficial. 🎉
Apenas lembre-se, o ponto mais importante é: tente ser gentil. As pessoas chegam com frustrações e, em muitos casos, não perguntam da melhor forma, mas tente ao máximo ser gentil. 🤗
A ideia é que a comunidade do **FastAPI** seja gentil e acolhedora. Ao mesmo tempo, não aceite bullying ou comportamentos desrespeitosos com outras pessoas. Temos que cuidar uns dos outros.
---
Veja como ajudar outras pessoas com perguntas (em discussions ou issues):
### Entenda a pergunta { #understand-the-question }
* Verifique se você consegue entender qual é o **objetivo** e o caso de uso de quem está perguntando.
* Depois verifique se a pergunta (a grande maioria são perguntas) está **clara**.
* Em muitos casos a pergunta feita é sobre uma solução imaginada pela pessoa usuária, mas pode haver uma solução **melhor**. Se você entender melhor o problema e o caso de uso, pode sugerir uma **solução alternativa** melhor.
* Se você não entender a pergunta, peça mais **detalhes**.
### Reproduza o problema { #reproduce-the-problem }
Apenas lembre-se, o ponto mais importante é: tente ser gentil. 🤗
Na maioria dos casos e na maioria das perguntas há algo relacionado ao **código original** da pessoa.
### Como ajudar { #how-to-help }
Em muitos casos ela só copia um fragmento do código, mas isso não é suficiente para **reproduzir o problema**.
* Você pode pedir que forneçam um [exemplo mínimo, reproduzível](https://stackoverflow.com/help/minimal-reproducible-example), que você possa **copiar e colar** e executar localmente para ver o mesmo erro ou comportamento que elas estão vendo, ou para entender melhor o caso de uso.
* Se você estiver muito generoso, pode tentar **criar um exemplo** assim você mesmo, apenas com base na descrição do problema. Só tenha em mente que isso pode levar bastante tempo e pode ser melhor pedir primeiro que esclareçam o problema.
### Sugira soluções { #suggest-solutions }
* Depois de conseguir entender a pergunta, você pode dar uma possível **resposta**.
* Em muitos casos, é melhor entender o **problema subjacente ou caso de uso**, pois pode haver uma forma melhor de resolver do que aquilo que estão tentando fazer.
### Peça para encerrar { #ask-to-close }
Se a pessoa responder, há uma grande chance de você ter resolvido o problema, parabéns, **você é um herói**! 🦸
* Agora, se isso resolveu o problema, você pode pedir para:
* No GitHub Discussions: marcar o comentário como a **resposta**.
* No GitHub Issues: **encerrar** a issue.
## Acompanhe o repositório do GitHub { #watch-the-github-repository }
Você pode “acompanhar” (watch) o FastAPI no GitHub (clicando no botão “watch” no canto superior direito): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). 👀
Se você selecionar “Acompanhando” em vez de “Apenas lançamentos”, receberá notificações quando alguém criar uma nova issue ou pergunta. Você também pode especificar que quer ser notificado apenas sobre novas issues, ou discussions, ou PRs, etc.
Assim você pode tentar ajudar a resolver essas questões.
Siga o [guia sobre como ajudar](https://tiangolo.com/open-source/help/#help-others-with-questions-in-github) aqui.
## Faça perguntas { #ask-questions }
@ -138,100 +66,13 @@ Você pode [criar uma nova pergunta](https://github.com/fastapi/fastapi/discussi
* Fazer uma **pergunta** ou perguntar sobre um **problema**.
* Sugerir uma nova **funcionalidade**.
**Nota**: se você fizer isso, então vou pedir que você também ajude outras pessoas. 😉
## Revise Pull Requests { #review-pull-requests }
Você pode me ajudar revisando pull requests de outras pessoas.
Novamente, por favor tente ao máximo ser gentil. 🤗
---
Veja o que ter em mente e como revisar um pull request:
### Entenda o problema { #understand-the-problem }
* Primeiro, garanta que você **entendeu o problema** que o pull request tenta resolver. Pode haver uma discussão mais longa em uma Discussion ou issue do GitHub.
* Também há uma boa chance de o pull request não ser realmente necessário porque o problema pode ser resolvido de uma **forma diferente**. Aí você pode sugerir ou perguntar sobre isso.
### Não se preocupe com estilo { #dont-worry-about-style }
* Não se preocupe muito com coisas como estilos de mensagens de commit, eu vou fazer squash e merge personalizando o commit manualmente.
* Também não se preocupe com regras de estilo, já há ferramentas automatizadas verificando isso.
E se houver qualquer outra necessidade de estilo ou consistência, vou pedir diretamente, ou vou adicionar commits por cima com as mudanças necessárias.
### Verifique o código { #check-the-code }
* Verifique e leia o código, veja se faz sentido, **execute localmente** e veja se realmente resolve o problema.
* Depois **comente** dizendo que você fez isso, é assim que saberei que você realmente verificou.
/// info | Informação
Infelizmente, eu não posso simplesmente confiar em PRs que têm várias aprovações.
Já aconteceu várias vezes de haver PRs com 3, 5 ou mais aprovações, provavelmente porque a descrição é atraente, mas quando eu verifico os PRs, eles estão quebrados, têm um bug, ou não resolvem o problema que afirmam resolver. 😅
Por isso, é realmente importante que você leia e execute o código, e me avise nos comentários que você fez isso. 🤓
///
* Se o PR puder ser simplificado de alguma forma, você pode pedir isso, mas não há necessidade de ser exigente demais, pode haver muitos pontos de vista subjetivos (e eu terei o meu também 🙈), então é melhor focar nas coisas fundamentais.
### Testes { #tests }
* Me ajude a verificar se o PR tem **testes**.
* Verifique se os testes **falham** antes do PR. 🚨
* Depois verifique se os testes **passam** após o PR. ✅
* Muitos PRs não têm testes, você pode **lembrar** a pessoa de adicionar testes, ou até **sugerir** alguns testes você mesmo. Essa é uma das coisas que consomem mais tempo e você pode ajudar muito com isso.
* Depois também comente o que você testou, assim vou saber que você verificou. 🤓
## Crie um Pull Request { #create-a-pull-request }
Você pode [contribuir](contributing.md) com o código-fonte fazendo Pull Requests, por exemplo:
* Para corrigir um erro de digitação que você encontrou na documentação.
* Para compartilhar um artigo, vídeo ou podcast que você criou ou encontrou sobre o FastAPI, [editando este arquivo](https://github.com/fastapi/fastapi/edit/master/docs/en/data/external_links.yml).
* Garanta que você adicione seu link no início da seção correspondente.
* Para ajudar a [traduzir a documentação](contributing.md#translations) para seu idioma.
* Você também pode ajudar a revisar as traduções criadas por outras pessoas.
* Para propor novas seções de documentação.
* Para corrigir uma issue/bug existente.
* Garanta que você adicione testes.
* Para adicionar uma nova funcionalidade.
* Garanta que você adicione testes.
* Garanta que você adicione documentação se for relevante.
## Ajude a manter o FastAPI { #help-maintain-fastapi }
Ajude-me a manter o **FastAPI**! 🤓
Há muito trabalho a fazer e, para a maior parte dele, **VOCÊ** pode ajudar.
As principais tarefas que você pode fazer agora são:
* [Ajudar outras pessoas com perguntas no GitHub](#help-others-with-questions-in-github) (veja a seção acima).
* [Revisar Pull Requests](#review-pull-requests) (veja a seção acima).
Essas duas tarefas são as que **mais consomem tempo**. Esse é o principal trabalho de manter o FastAPI.
Se você puder me ajudar com isso, **você está me ajudando a manter o FastAPI** e garantindo que ele continue **avançando mais rápido e melhor**. 🚀
## Entre no chat { #join-the-chat }
Entre no 👥 [servidor de chat do Discord](https://discord.gg/VQjSZaeJmf) 👥 e converse com outras pessoas da comunidade FastAPI.
/// tip | Dica
Para perguntas, faça-as no [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/new?category=questions), há uma chance muito maior de você receber ajuda pelos [Especialistas em FastAPI](fastapi-people.md#fastapi-experts).
Para perguntas, faça-as no GitHub Discussions, há uma chance muito maior de você receber ajuda.
Use o chat apenas para outras conversas gerais.
@ -241,16 +82,6 @@ Use o chat apenas para outras conversas gerais.
Tenha em mente que, como os chats permitem uma “conversa mais livre”, é fácil fazer perguntas muito gerais e mais difíceis de responder, então você pode acabar não recebendo respostas.
No GitHub, o template vai orientar você a escrever a pergunta certa para que você consiga obter uma boa resposta com mais facilidade, ou até resolver o problema sozinho antes de perguntar. E no GitHub eu consigo garantir que sempre vou responder tudo, mesmo que leve algum tempo. Eu pessoalmente não consigo fazer isso com os sistemas de chat. 😅
As conversas nos sistemas de chat também não são tão fáceis de pesquisar quanto no GitHub, então perguntas e respostas podem se perder na conversa. E somente as que estão no GitHub contam para você se tornar um(a) [Especialista em FastAPI](fastapi-people.md#fastapi-experts), então é bem provável que você receba mais atenção no GitHub.
Por outro lado, há milhares de usuários nos sistemas de chat, então há uma grande chance de você encontrar alguém para conversar por lá quase o tempo todo. 😄
## Patrocine o autor { #sponsor-the-author }
Se o seu **produto/empresa** depende de ou está relacionado ao **FastAPI** e você quer alcançar suas pessoas usuárias, você pode patrocinar o autor (eu) através do [GitHub sponsors](https://github.com/sponsors/tiangolo). Dependendo do nível, você pode obter benefícios extras, como um selo na documentação. 🎁
---
No GitHub, o template vai orientar você a escrever a pergunta certa para que você consiga obter uma boa resposta com mais facilidade, ou até resolver o problema sozinho antes de perguntar.
Obrigado! 🚀
As conversas nos sistemas de chat também não são tão fáceis de pesquisar quanto no GitHub; elas se perdem.
Para saber mais sobre o [Pydantic, verifique a documentação](https://docs.pydantic.dev/).
@ -341,7 +341,7 @@ Tudo isso pode parecer abstrato. Não se preocupe. Você verá tudo isso em aç
O importante é que, usando tipos padrão de Python, em um único local (em vez de adicionar mais classes, decoradores, etc.), o **FastAPI** fará muito trabalho para você.
/// info | Informação
/// note | Nota
Se você já passou por todo o tutorial e voltou para ver mais sobre os tipos, um bom recurso é [a "cheat sheet" do `mypy`](https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html).
@ -4,7 +4,7 @@ Se você está construindo uma aplicação ou uma API web, é raro que você pos
**FastAPI** oferece uma ferramenta conveniente para estruturar sua aplicação, mantendo toda a flexibilidade.
/// info | Informação
/// note | Nota
Se você vem do Flask, isso seria o equivalente aos Blueprints do Flask.
@ -194,7 +194,7 @@ Ter `dependencies` no `APIRouter` pode ser usado, por exemplo, para exigir auten
///
/// check | Verifique
/// tip | Dica
Os parâmetros `prefix`, `tags`, `responses` e `dependencies` são (como em muitos outros casos) apenas um recurso do **FastAPI** para ajudar a evitar duplicação de código.
@ -339,7 +339,7 @@ Também poderíamos importá-los como:
from app.routers import items, users
```
/// info | Informação
/// note | Nota
A primeira versão é uma "importação relativa":
@ -382,7 +382,7 @@ Agora, vamos incluir os `router`s dos submódulos `users` e `items`: