Fastapi 简明教程
FastAPI - Cookie Parameters
cookie 是 HTTP 标头之一。除了请求的数据之外,Web 服务器还会向客户端发送响应,它还会插入一个或多个 Cookie。 cookie 是一小部分数据,该数据存储在客户端计算机上。在同一客户端的后续连接请求中,此 Cookie 数据也会附在 HTTP 请求中。
Cookie 可用于记录有关客户端浏览的信息。Cookie 是一种可靠的用于在 HTTP 协议无状态通信中检索有状态信息的方法。
在 FastAPI 中,Cookie 参数在响应对象上借助 set_cookie() 方法设置。
response.set_cookie(key, value)
Example
以下是 set_cookie() 方法的示例。我们有一个名为 content 的 JSON 响应对象。调用其上的 set_cookie() 方法,以设置 key="usrname" 和 value="admin" 作为 Cookie−
from fastapi import FastAPI
from fastapi.responses import JSONResponse
app = FastAPI()
@app.post("/cookie/")
def create_cookie():
content = {"message": "cookie set"}
response = JSONResponse(content=content)
response.set_cookie(key="username", value="admin")
return response
要随后读取 Cookie,请使用 FastAPI 库中的 Cookie 对象。
from fastapi import FastAPI, Cookie
app = FastAPI()
@app.get("/readcookie/")
async def read_cookie(username: str = Cookie(None)):
return {"username": username}
检查 Swagger API 中的这两个端点。有这两个路由 "/cookies" 和 "/readcookie". 执行与“/cookies”相关的 create_cookie() 函数。响应只是内容,尽管设置了 Cookie。
当执行 read_cookie() 函数时,将回读 Cookie 并显示为响应。还需要注意,该文档将用户名标识为 Cookie 参数。