]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Spanish translation for `docs/es/docs/advanced/response-headers.md` (#2276)
authorIch bin Xaraxx! :P <sakura-lienzo@hotmail.com>
Wed, 7 Feb 2024 12:51:12 +0000 (07:51 -0500)
committerGitHub <noreply@github.com>
Wed, 7 Feb 2024 12:51:12 +0000 (13:51 +0100)
Co-authored-by: Xaraxx <sara.galvan.o91@gmail.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
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>
docs/es/docs/advanced/response-headers.md [new file with mode: 0644]

diff --git a/docs/es/docs/advanced/response-headers.md b/docs/es/docs/advanced/response-headers.md
new file mode 100644 (file)
index 0000000..aec88a5
--- /dev/null
@@ -0,0 +1,44 @@
+# Headers de Respuesta
+
+## Usar un parámetro `Response`
+
+Puedes declarar un parámetro de tipo `Response` en tu *función de operación de path* (de manera similar como se hace con las cookies).
+
+Y entonces, podrás configurar las cookies en ese objeto de response *temporal*.
+
+```Python hl_lines="1  7-8"
+{!../../../docs_src/response_headers/tutorial002.py!}
+```
+
+Posteriormente, puedes devolver cualquier objeto que necesites, como normalmente harías (un `dict`, un modelo de base de datos, etc).
+
+Si declaraste un `response_model`, este se continuará usando para filtrar y convertir el objeto que devolviste.
+
+**FastAPI** usará ese response *temporal* para extraer los headers (al igual que las cookies y el status code), además las pondrá en el response final que contendrá el valor retornado y filtrado por algún `response_model`.
+
+También puedes declarar el parámetro `Response` en dependencias, así como configurar los headers (y las cookies) en ellas.
+
+
+## Retornar una `Response` directamente
+
+Adicionalmente, puedes añadir headers cuando se retorne una `Response` directamente.
+
+Crea un response tal como se describe en [Retornar una respuesta directamente](response-directly.md){.internal-link target=_blank} y pasa los headers como un parámetro adicional:
+
+```Python hl_lines="10-12"
+{!../../../docs_src/response_headers/tutorial001.py!}
+```
+
+!!! note "Detalles Técnicos"
+    También podrías utilizar `from starlette.responses import Response` o `from starlette.responses import JSONResponse`.
+
+    **FastAPI** proporciona las mismas `starlette.responses` en `fastapi.responses` sólo que de una manera más conveniente para ti, el desarrollador. En otras palabras, muchas de las responses disponibles provienen directamente de Starlette.
+
+
+    Y como la `Response` puede ser usada frecuentemente para configurar headers y cookies, **FastAPI** también la provee en `fastapi.Response`.
+
+## Headers Personalizados
+
+Ten en cuenta que se pueden añadir headers propietarios personalizados <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers" class="external-link" target="_blank">usando el prefijo 'X-'</a>.
+
+Si tienes headers personalizados y deseas que un cliente pueda verlos en el navegador, es necesario que los añadas a tus configuraciones de CORS (puedes leer más en [CORS (Cross-Origin Resource Sharing)](../tutorial/cors.md){.internal-link target=_blank}), usando el parámetro `expose_headers` documentado en <a href="https://www.starlette.io/middleware/#corsmiddleware" class="external-link" target="_blank">Starlette's CORS docs</a>.