Movatterモバイル変換


[0]ホーム

URL:


Saltar a contenido
Join theFastAPI Cloud waiting list 🚀
Follow@fastapi onX (Twitter) to stay updated
FollowFastAPI onLinkedIn to stay updated
Subscribe to theFastAPI and friends newsletter 🎉
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor

Cookies de Response

🌐 Traducción por IA y humanos

Esta traducción fue hecha por IA guiada por humanos. 🤝

Podría tener errores al interpretar el significado original, o sonar poco natural, etc. 🤖

Puedes mejorar esta traducciónayudándonos a guiar mejor al LLM de IA.

Versión en inglés

Usar un parámetroResponse

Puedes declarar un parámetro de tipoResponse en tupath operation function.

Y luego puedes establecer cookies en ese objeto de responsetemporal.

fromfastapiimportFastAPI,Responseapp=FastAPI()@app.post("/cookie-and-object/")defcreate_cookie(response:Response):response.set_cookie(key="fakesession",value="fake-cookie-session-value")return{"message":"Come to the dark side, we have cookies"}

Y entonces puedes devolver cualquier objeto que necesites, como normalmente lo harías (undict, un modelo de base de datos, etc).

Y si declaraste unresponse_model, todavía se utilizará para filtrar y convertir el objeto que devolviste.

FastAPI utilizará ese responsetemporal para extraer las cookies (también los headers y el código de estado), y las pondrá en el response final que contiene el valor que devolviste, filtrado por cualquierresponse_model.

También puedes declarar el parámetroResponse en las dependencias, y establecer cookies (y headers) en ellas.

Devolver unaResponse directamente

También puedes crear cookies al devolver unaResponse directamente en tu código.

Para hacer eso, puedes crear un response como se describe enDevolver un Response Directamente.

Luego establece Cookies en ella, y luego devuélvela:

fromfastapiimportFastAPIfromfastapi.responsesimportJSONResponseapp=FastAPI()@app.post("/cookie/")defcreate_cookie():content={"message":"Come to the dark side, we have cookies"}response=JSONResponse(content=content)response.set_cookie(key="fakesession",value="fake-cookie-session-value")returnresponse

Consejo

Ten en cuenta que si devuelves un response directamente en lugar de usar el parámetroResponse, FastAPI lo devolverá directamente.

Así que tendrás que asegurarte de que tus datos son del tipo correcto. Por ejemplo, que sea compatible con JSON, si estás devolviendo unJSONResponse.

Y también que no estés enviando ningún dato que debería haber sido filtrado por unresponse_model.

Más información

Detalles Técnicos

También podrías usarfrom starlette.responses import Response ofrom starlette.responses import JSONResponse.

FastAPI proporciona los mismosstarlette.responses comofastapi.responses solo como una conveniencia para ti, el desarrollador. Pero la mayoría de los responses disponibles vienen directamente de Starlette.

Y como elResponse se puede usar frecuentemente para establecer headers y cookies,FastAPI también lo proporciona enfastapi.Response.

Para ver todos los parámetros y opciones disponibles, revisa ladocumentación en Starlette.


[8]ページ先頭

©2009-2026 Movatter.jp