Skip to content

Commit

Permalink
🌐 Add Spanish translation for `docs/es/docs/advanced/response-change-…
Browse files Browse the repository at this point in the history
…status-code.md` (#11100)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
alejsdev and pre-commit-ci[bot] committed Feb 6, 2024
1 parent d9cacac commit b9766d7
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions docs/es/docs/advanced/response-change-status-code.md
@@ -0,0 +1,33 @@
# Response - Cambiar el Status Code

Probablemente ya has leído con anterioridad que puedes establecer un [Response Status Code](../tutorial/response-status-code.md){.internal-link target=_blank} por defecto.

Pero en algunos casos necesitas retornar un status code diferente al predeterminado.

## Casos de uso

Por ejemplo, imagina que quieres retornar un HTTP status code de "OK" `200` por defecto.

Pero si los datos no existen, quieres crearlos y retornar un HTTP status code de "CREATED" `201`.

Pero aún quieres poder filtrar y convertir los datos que retornas con un `response_model`.

Para esos casos, puedes usar un parámetro `Response`.

## Usar un parámetro `Response`

Puedes declarar un parámetro de tipo `Response` en tu *función de la operación de path* (como puedes hacer para cookies y headers).

Y luego puedes establecer el `status_code` en ese objeto de respuesta *temporal*.

```Python hl_lines="1 9 12"
{!../../../docs_src/response_change_status_code/tutorial001.py!}
```

Y luego puedes retornar cualquier objeto que necesites, como normalmente lo harías (un `dict`, un modelo de base de datos, etc).

Y si declaraste un `response_model`, aún se usará para filtrar y convertir el objeto que retornaste.

**FastAPI** usará esa respuesta *temporal* para extraer el código de estado (también cookies y headers), y los pondrá en la respuesta final que contiene el valor que retornaste, filtrado por cualquier `response_model`.

También puedes declarar la dependencia del parámetro `Response`, y establecer el código de estado en ellos. Pero ten en cuenta que el último en establecerse será el que gane.

0 comments on commit b9766d7

Please sign in to comment.