mirror of
https://github.com/rjNemo/fastapi
synced 2026-06-11 13:06:43 +00:00
🌐 Add Portuguese translation for docs/pt/docs/tutorial/header-params.md (#4921)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
parent
728b961d35
commit
b63398f4b5
2 changed files with 129 additions and 0 deletions
128
docs/pt/docs/tutorial/header-params.md
Normal file
128
docs/pt/docs/tutorial/header-params.md
Normal file
|
|
@ -0,0 +1,128 @@
|
||||||
|
# Parâmetros de Cabeçalho
|
||||||
|
|
||||||
|
Você pode definir parâmetros de Cabeçalho da mesma maneira que define paramêtros com `Query`, `Path` e `Cookie`.
|
||||||
|
|
||||||
|
## importe `Header`
|
||||||
|
|
||||||
|
Primeiro importe `Header`:
|
||||||
|
|
||||||
|
=== "Python 3.6 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="3"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial001.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "Python 3.10 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="1"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial001_py310.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Declare parâmetros de `Header`
|
||||||
|
|
||||||
|
Então declare os paramêtros de cabeçalho usando a mesma estrutura que em `Path`, `Query` e `Cookie`.
|
||||||
|
|
||||||
|
O primeiro valor é o valor padrão, você pode passar todas as validações adicionais ou parâmetros de anotação:
|
||||||
|
|
||||||
|
=== "Python 3.6 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="9"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial001.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "Python 3.10 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="7"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial001_py310.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! note "Detalhes Técnicos"
|
||||||
|
`Header` é uma classe "irmã" de `Path`, `Query` e `Cookie`. Ela também herda da mesma classe em comum `Param`.
|
||||||
|
|
||||||
|
Mas lembre-se que quando você importa `Query`, `Path`, `Header`, e outras de `fastapi`, elas são na verdade funções que retornam classes especiais.
|
||||||
|
|
||||||
|
!!! info
|
||||||
|
Para declarar headers, você precisa usar `Header`, caso contrário, os parâmetros seriam interpretados como parâmetros de consulta.
|
||||||
|
|
||||||
|
## Conversão automática
|
||||||
|
|
||||||
|
`Header` tem algumas funcionalidades a mais em relação a `Path`, `Query` e `Cookie`.
|
||||||
|
|
||||||
|
A maioria dos cabeçalhos padrão são separados pelo caractere "hífen", também conhecido como "sinal de menos" (`-`).
|
||||||
|
|
||||||
|
Mas uma variável como `user-agent` é inválida em Python.
|
||||||
|
|
||||||
|
Portanto, por padrão, `Header` converterá os caracteres de nomes de parâmetros de sublinhado (`_`) para hífen (`-`) para extrair e documentar os cabeçalhos.
|
||||||
|
|
||||||
|
Além disso, os cabeçalhos HTTP não diferenciam maiúsculas de minúsculas, portanto, você pode declará-los com o estilo padrão do Python (também conhecido como "snake_case").
|
||||||
|
|
||||||
|
Portanto, você pode usar `user_agent` como faria normalmente no código Python, em vez de precisar colocar as primeiras letras em maiúsculas como `User_Agent` ou algo semelhante.
|
||||||
|
|
||||||
|
Se por algum motivo você precisar desabilitar a conversão automática de sublinhados para hífens, defina o parâmetro `convert_underscores` de `Header` para `False`:
|
||||||
|
|
||||||
|
=== "Python 3.6 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="10"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial002.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "Python 3.10 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="8"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial002_py310.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! warning "Aviso"
|
||||||
|
Antes de definir `convert_underscores` como `False`, lembre-se de que alguns proxies e servidores HTTP não permitem o uso de cabeçalhos com sublinhados.
|
||||||
|
|
||||||
|
## Cabeçalhos duplicados
|
||||||
|
|
||||||
|
É possível receber cabeçalhos duplicados. Isso significa, o mesmo cabeçalho com vários valores.
|
||||||
|
|
||||||
|
Você pode definir esses casos usando uma lista na declaração de tipo.
|
||||||
|
|
||||||
|
Você receberá todos os valores do cabeçalho duplicado como uma `list` Python.
|
||||||
|
|
||||||
|
Por exemplo, para declarar um cabeçalho de `X-Token` que pode aparecer mais de uma vez, você pode escrever:
|
||||||
|
|
||||||
|
=== "Python 3.6 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="9"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial003.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "Python 3.9 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="9"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial003_py39.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "Python 3.10 and above"
|
||||||
|
|
||||||
|
```Python hl_lines="7"
|
||||||
|
{!> ../../../docs_src/header_params/tutorial003_py310.py!}
|
||||||
|
```
|
||||||
|
|
||||||
|
Se você se comunicar com essa *operação de caminho* enviando dois cabeçalhos HTTP como:
|
||||||
|
|
||||||
|
```
|
||||||
|
X-Token: foo
|
||||||
|
X-Token: bar
|
||||||
|
```
|
||||||
|
|
||||||
|
A resposta seria como:
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
{
|
||||||
|
"X-Token values": [
|
||||||
|
"bar",
|
||||||
|
"foo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Recapitulando
|
||||||
|
|
||||||
|
Declare cabeçalhos com `Header`, usando o mesmo padrão comum que utiliza-se em `Query`, `Path` e `Cookie`.
|
||||||
|
|
||||||
|
E não se preocupe com sublinhados em suas variáveis, FastAPI cuidará da conversão deles.
|
||||||
|
|
@ -70,6 +70,7 @@ nav:
|
||||||
- tutorial/extra-data-types.md
|
- tutorial/extra-data-types.md
|
||||||
- tutorial/query-params-str-validations.md
|
- tutorial/query-params-str-validations.md
|
||||||
- tutorial/cookie-params.md
|
- tutorial/cookie-params.md
|
||||||
|
- tutorial/header-params.md
|
||||||
- tutorial/handling-errors.md
|
- tutorial/handling-errors.md
|
||||||
- Segurança:
|
- Segurança:
|
||||||
- tutorial/security/index.md
|
- tutorial/security/index.md
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue