Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions docs/pt/docs/advanced/response-cookies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Cookies de Resposta

## Usando um parĂąmetro `Response`

VocĂȘ pode declarar um parĂąmetro do tipo `Response` na sua *função de operação de rota*.

E entĂŁo vocĂȘ pode definir cookies nesse objeto de resposta *temporĂĄrio*.

```Python hl_lines="1 8-9"
{!../../docs_src/response_cookies/tutorial002.py!}
```

Em seguida, vocĂȘ pode retornar qualquer objeto que precise, como normalmente faria (um `dict`, um modelo de banco de dados, etc).

E se vocĂȘ declarou um `response_model`, ele ainda serĂĄ usado para filtrar e converter o objeto que vocĂȘ retornou.

**FastAPI** usarĂĄ essa resposta *temporĂĄria* para extrair os cookies (tambĂ©m os cabeçalhos e cĂłdigo de status) e os colocarĂĄ na resposta final que contĂ©m o valor que vocĂȘ retornou, filtrado por qualquer `response_model`.

VocĂȘ tambĂ©m pode declarar o parĂąmetro `Response` em dependĂȘncias e definir cookies (e cabeçalhos) nelas.

## Retornando uma `Response` diretamente

VocĂȘ tambĂ©m pode criar cookies ao retornar uma `Response` diretamente no seu cĂłdigo.

Para fazer isso, vocĂȘ pode criar uma resposta como descrito em [Retornando uma Resposta Diretamente](response-directly.md){.internal-link target=_blank}.

EntĂŁo, defina os cookies nela e a retorne:

```Python hl_lines="10-12"
{!../../docs_src/response_cookies/tutorial001.py!}
```

/// tip | Dica

Lembre-se de que se vocĂȘ retornar uma resposta diretamente em vez de usar o parĂąmetro `Response`, FastAPI a retornarĂĄ diretamente.

Portanto, vocĂȘ terĂĄ que garantir que seus dados sejam do tipo correto. E.g. serĂĄ compatĂ­vel com JSON se vocĂȘ estiver retornando um `JSONResponse`.

E tambĂ©m que vocĂȘ nĂŁo esteja enviando nenhum dado que deveria ter sido filtrado por um `response_model`.

///

### Mais informaçÔes

/// note | "Detalhes Técnicos"
Comment thread
Paulofalcao2002 marked this conversation as resolved.

VocĂȘ tambĂ©m poderia usar `from starlette.responses import Response` ou `from starlette.responses import JSONResponse`.

**FastAPI** fornece as mesmas `starlette.responses` em `fastapi.responses` apenas como uma conveniĂȘncia para vocĂȘ, o desenvolvedor. Mas a maioria das respostas disponĂ­veis vem diretamente do Starlette.

E como o `Response` pode ser usado frequentemente para definir cabeçalhos e cookies, o **FastAPI** também o fornece em `fastapi.Response`.

///

Para ver todos os parùmetros e opçÔes disponíveis, verifique a <a href="https://www.starlette.io/responses/#set-cookie" class="external-link" target="_blank">documentação no Starlette</a>.