首页 > 其他分享 >FastAPI学习-21.response 参数-设置响应Cookies

FastAPI学习-21.response 参数-设置响应Cookies

时间:2023-09-17 11:11:53浏览次数:45  
标签:Cookies 21 FastAPI cookies response 响应 cookie Response

前言

可以在 路径函数 中定义一个类型为 Response的参数,这样你就可以在这个临时响应对象中设置cookie了。

response 参数

设置cookies

from fastapi import FastAPI, Response

app = FastAPI()


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

而且你还可以根据你的需要响应不同的对象,比如常用的 dict,数据库model等。

如果你定义了 response_model,程序会自动根据response_model来过滤和转换你响应的对象。

FastAPI 会使用这个 临时 响应对象去装在这些cookies信息 (同样还有headers和状态码等信息), 最终会将这些信息和通过response_model转化过的数据合并到最终的响应里。

你也可以在depend中定义Response参数,并设置cookie和header。

直接响应 Response

你还可以在直接响应Response时直接创建cookies。

你可以参考Return a Response Directly来创建response

然后设置Cookies,并返回:

from fastapi import FastAPI
from fastapi.responses import JSONResponse

app = FastAPI()


@app.post("/cookie/")
def create_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")
    return response

需要注意,如果你直接反馈一个response对象,而不是使用Response入参,FastAPI则会直接反馈你封装的response对象。
所以你需要确保你响应数据类型的正确性,如:你可以使用JSONResponse来兼容JSON的场景。
同时,你也应当仅反馈通过response_model过滤过的数据。

标签:Cookies,21,FastAPI,cookies,response,响应,cookie,Response
From: https://www.cnblogs.com/yoyoketang/p/17707973.html

相关文章

  • FastAPI学习-20.response 参数-设置响应头部
    前言你可以在你的_路径操作函数_中声明一个Response类型的参数。设置响应头部你可以在这个_临时_响应对象中设置头部fromfastapiimportFastAPI,Responseapp=FastAPI()@app.get("/headers-and-object/")defget_headers(response:Response):response.headers......
  • JAVA17/JAVA21方法精讲
    day05_java基础课程目标1.【理解】什么是方法2.【掌握】方法的格式3.【理解】方法的执行流程4.【掌握】方法的案例5.【理解】方法的重载6.【理解】方法参数的传递方法概述什么是方法方法(method)完成某一个特定功能的代码块方法基本使用将资料中给大家提供的打......
  • P7215首都
    2023-09-14题目P7215[JOISC2020]首都难度&重要性(1~10):8题目来源luogu题目算法点分治解题思路一个显然的\(O(n^2)\)的暴力思路。因为这是一颗树,我们就每一次将城镇\(1\simn\)定为根节点,将这个城镇的所属城市定为首都,而要求首都的其他城镇到根节点的路径上只有首......
  • Acwing.第121场周赛
    Acwing.第121场周赛比赛链接这次怎么出的这么简单,偷懒了是吧哈哈哈A.简单计算题目链接#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;voidsolve(){inta,b,c;cin>>a>>b>>c;intans=(c-b)/a*a+b;cout<<ans<<endl;}......
  • Prompts for Generation (Li & Liang, ACL-IJCNLP 2021)
    前缀调优:一种轻量级的微调方法。这篇论文提出了一种用于自然语言生成任务的微调方法,叫做前缀调优。它的思想是在预训练的语言模型前面加上一系列连续的任务特定向量,称为前缀,作为“虚拟词”,并对它们进行优化。与全微调相比,前缀调优只需要存储很少的任务特定参数(约占0.1%),并且保持了语......
  • 2020-2021 ACM-ICPC Brazil Subregional Programming Contest
    A.StickerAlbum你想要得到\(n\)张贴纸,每包礼物中等概率出现\([A,B]\)范围内数量的贴纸,求需要买多少包礼物才能至少获得\(n\)张贴纸的期望次数\(1\leqn\leq10^6,0\leqA,B\leq10^6\)题解:期望DP我们考虑从后往前进行\(dp\)设计状态为\(dp[i]\)代表手上有\(i\)张......
  • 2021年中国大学生程序设计竞赛女生专场 AKDGIBC
    2021年中国大学生程序设计竞赛女生专场目录2021年中国大学生程序设计竞赛女生专场概况C-连锁商店B-攻防演练I-驾驶卡丁车G-3G网络D-修建道路K-音乐游戏A-公交线路概况前五题去年的这个时候VP的,今年学校要去打女生赛,我先帮她们看看C-连锁商店一眼状压,但发现......
  • 2023软件工程02---2023021858刘毅
    最想学习的技术:kafka以下学习内容是我结合Kafka官方文档总结下来的技术学习文档入门阶段:入门书籍和网络资源:书籍:《Kafka权威指南》(Confluent团队编写)。官方网站:ApacheKafka。基础知识:了解Kafka的基本概念,如Producer、Consumer、Topic、Partition、Broker等。安装和......
  • JVM--2021面试题系列教程(附答案解析)
    JVM--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本前言序言再高大上的框架,也需要扎实的基础才能玩转,高频面试问题更是基础中的高频实战要点。适合阅读人群Java学习者和爱好者,有一定工作经验的技术人,准面试官等。阅读建议本教程是系列教程,包含Java基础,JVM,容......
  • FastAPI学习-14. JSONResponse 返回JSON内容
    当你创建一个 FastAPI 路径操作 时,你可以正常返回以下任意一种数据:dict,list,Pydantic模型,数据库模型等等。FastAPI 默认会使用 jsonable_encoder 将这些类型的返回值转换成JSON格式,默认情况下会以content-type:application/json格式返回在有些情况下,我们需要在路径操......