🌐 Add Portuguese translation for docs/pt/docs/advanced/sub-applications.md

This commit is contained in:
marcelomarkus 2024-07-17 01:12:26 -03:00
parent 84f04cc8a0
commit 195c2ae113
1 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,73 @@
# Sub Applications - Montagens
Se você precisar ter duas aplicações FastAPI independentes, cada uma com seu próprio OpenAPI e suas próprias interfaces de documentação, você pode ter um aplicativo principal e "montar" uma (ou mais) sub-aplicações.
## Mountando uma aplicação **FastAPI**
"Montar" significa adicionar uma aplicação completamente "independente" em um caminho específico, que então se encarrega de lidar com tudo sob esse caminho, com as operações de caminho declaradas nessa sub-aplicação.
### Aplicação de nível superior
Primeiro, crie a aplicação principal, de nível superior, **FastAPI**, e suas *operações de caminho*:
```Python hl_lines="3 6-8"
{!../../../docs_src/sub_applications/tutorial001.py!}
```
### Sub-aplicação
Em seguida, crie sua sub-aplicação e suas *operações de caminho*.
Essa sub-aplicação é apenas outra aplicação FastAPI padrão, mas esta é a que será "montada":
```Python hl_lines="11 14-16"
{!../../../docs_src/sub_applications/tutorial001.py!}
```
### Monte a sub-aplicação
Na sua aplicação de nível superior, `app`, monte a sub-aplicação, `subapi`.
Neste caso, ela será montada no caminho `/subapi`:
```Python hl_lines="11 19"
{!../../../docs_src/sub_applications/tutorial001.py!}
```
### Verifique a documentação automática da API
Agora, execute `uvicorn` com a aplicação principal, se o seu arquivo for `main.py`, seria:
<div class="termy">
```console
$ uvicorn main:app --reload
<span style="color: green;">INFO</span>: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
```
</div>
E abra a documentação em <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a>.
Você verá a documentação automática da API para a aplicação principal, incluindo apenas suas próprias _operações de caminho_:
<img src="/img/tutorial/sub-applications/image01.png">
E então, abra a documentação para a sub-aplicação, em <a href="http://127.0.0.1:8000/subapi/docs" class="external-link" target="_blank">http://127.0.0.1:8000/subapi/docs</a>.
Você verá a documentação automática da API para a sub-aplicação, incluindo apenas suas próprias _operações de caminho_, todas sob o prefixo de sub-caminho correto `/subapi`:
<img src="/img/tutorial/sub-applications/image02.png">
Se você tentar interagir com qualquer uma das duas interfaces de usuário, elas funcionarão corretamente, porque o navegador será capaz de se comunicar com cada aplicação ou sub-aplicação específica.
### `root_path` Detalhes Técnicos: `root_path`
Quando você monta uma sub-aplicação como descrito acima, o FastAPI se encarrega de comunicar o caminho de montagem para a sub-aplicação usando um mecanismo da especificação ASGI chamado `root_path`.
Dessa forma, a sub-aplicação saberá usar esse prefixo de caminho para a interface de documentação.
E a sub-aplicação também poderia ter suas próprias sub-aplicações montadas e tudo funcionaria corretamente, porque o FastAPI lida com todos esses `root_path`s automaticamente.
Você aprenderá mais sobre o `root_path` e como usá-lo explicitamente na seção sobre [Atrás de um Proxy](behind-a-proxy.md){.internal-link target=_blank}.