Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌐 Add Portuguese translation for docs/pt/docs/tutorial/response-status-code.md #4922

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
91 changes: 91 additions & 0 deletions docs/pt/docs/tutorial/response-status-code.md
@@ -0,0 +1,91 @@
# CĂłdigo de status de resposta

Da mesma forma que vocĂȘ pode especificar um modelo de resposta, vocĂȘ tambĂ©m pode declarar o cĂłdigo de status HTTP usado para a resposta com o parĂąmetro `status_code` em qualquer uma das *operaçÔes de caminho*:

* `@app.get()`
* `@app.post()`
* `@app.put()`
* `@app.delete()`
* etc.

```Python hl_lines="6"
{!../../../docs_src/response_status_code/tutorial001.py!}
```

!!! note "Nota"
Observe que `status_code` é um parùmetro do método "decorador" (get, post, etc). Não da sua função de *operação de caminho*, como todos os parùmetros e corpo.

O parĂąmetro `status_code` recebe um nĂșmero com o cĂłdigo de status HTTP.

!!! info "Informação"
`status_code` também pode receber um `IntEnum`, como o do Python <a href="https://docs.python.org/3/library/http.html#http.HTTPStatus" class="external-link" target="_blank">`http.HTTPStatus`</a>.

Dessa forma:

* Este cĂłdigo de status serĂĄ retornado na resposta.
* SerĂĄ documentado como tal no esquema OpenAPI (e, portanto, nas interfaces do usuĂĄrio):

<img src="/img/tutorial/response-status-code/image01.png">

!!! note "Nota"
Alguns códigos de resposta (consulte a próxima seção) indicam que a resposta não possui um corpo.

O FastAPI sabe disso e produzirĂĄ documentos OpenAPI informando que nĂŁo hĂĄ corpo de resposta.

## Sobre os cĂłdigos de status HTTP

!!! note "Nota"
Se vocĂȘ jĂĄ sabe o que sĂŁo cĂłdigos de status HTTP, pule para a prĂłxima seção.

Em HTTP, vocĂȘ envia um cĂłdigo de status numĂ©rico de 3 dĂ­gitos como parte da resposta.

Esses cĂłdigos de status tĂȘm um nome associado para reconhecĂȘ-los, mas o importante Ă© o nĂșmero.

Resumidamente:


* `100` e acima sĂŁo para "InformaçÔes". VocĂȘ raramente os usa diretamente. As respostas com esses cĂłdigos de status nĂŁo podem ter um corpo.
* **`200`** e acima sĂŁo para respostas "Bem-sucedidas". Estes sĂŁo os que vocĂȘ mais usaria.
* `200` Ă© o cĂłdigo de status padrĂŁo, o que significa que tudo estava "OK".
* Outro exemplo seria `201`, "Criado". É comumente usado após a criação de um novo registro no banco de dados.
* Um caso especial Ă© `204`, "Sem ConteĂșdo". Essa resposta Ă© usada quando nĂŁo hĂĄ conteĂșdo para retornar ao cliente e, portanto, a resposta nĂŁo deve ter um corpo.
* **`300`** e acima sĂŁo para "Redirecionamento". As respostas com esses cĂłdigos de status podem ou nĂŁo ter um corpo, exceto `304`, "NĂŁo modificado", que nĂŁo deve ter um.
* **`400`** e acima sĂŁo para respostas de "Erro do cliente". Este Ă© o segundo tipo que vocĂȘ provavelmente mais usaria.
* Um exemplo Ă© `404`, para uma resposta "NĂŁo encontrado".
* Para erros genĂ©ricos do cliente, vocĂȘ pode usar apenas `400`.
* `500` e acima sĂŁo para erros do servidor. VocĂȘ quase nunca os usa diretamente. Quando algo der errado em alguma parte do cĂłdigo do seu aplicativo ou servidor, ele retornarĂĄ automaticamente um desses cĂłdigos de status.

!!! tip "Dica"
Para saber mais sobre cada cĂłdigo de status e qual cĂłdigo serve para quĂȘ, verifique o <a href="https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status" class="external-link" target="_blank"><abbr title="Mozilla Developer Network">MDN</abbr> documentação sobre cĂłdigos de status HTTP</a>.

## Atalho para lembrar os nomes

Vamos ver o exemplo anterior novamente:

```Python hl_lines="6"
{!../../../docs_src/response_status_code/tutorial001.py!}
```

`201` Ă© o cĂłdigo de status para "Criado".

Mas vocĂȘ nĂŁo precisa memorizar o que cada um desses cĂłdigos significa.

VocĂȘ pode usar as variĂĄveis de conveniĂȘncia de `fastapi.status`.

```Python hl_lines="1 6"
{!../../../docs_src/response_status_code/tutorial002.py!}
```

Eles sĂŁo apenas uma conveniĂȘncia, eles possuem o mesmo nĂșmero, mas dessa forma vocĂȘ pode usar o autocomplete do editor para encontrĂĄ-los:

<img src="/img/tutorial/response-status-code/image02.png">

!!! note "Detalhes técnicos"
VocĂȘ tambĂ©m pode usar `from starlette import status`.

**FastAPI** fornece o mesmo `starlette.status` como `fastapi.status` apenas como uma conveniĂȘncia para vocĂȘ, o desenvolvedor. Mas vem diretamente da Starlette.


## Alterando o padrĂŁo

Mais tarde, no [Guia do usuĂĄrio avançado](../advanced/response-change-status-code.md){.internal-link target=_blank}, vocĂȘ verĂĄ como retornar um cĂłdigo de status diferente do padrĂŁo que vocĂȘ estĂĄ declarando aqui.
1 change: 1 addition & 0 deletions docs/pt/mkdocs.yml
Expand Up @@ -71,6 +71,7 @@ nav:
- tutorial/query-params-str-validations.md
- tutorial/cookie-params.md
- tutorial/header-params.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job with the translation!
Why have you added this line to mkdocs.yml? As far as I know the header params page is not translated yet hence it should not be added to this file yet

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, I added it by mistake.

- tutorial/response-status-code.md
- tutorial/handling-errors.md
- Segurança:
- tutorial/security/index.md
Expand Down