zoukankan      html  css  js  c++  java
  • FastAPI 基础学习(十二) Cookie操作

    作者:麦克煎蛋   出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢!

    读取Cookie信息

    基于Query、Path等模块同样的模式,我们可以利用Cookie模块来声明cookies。Cookie是Query、Path的姐妹类,它们都继承自Param类。

    同样我们也可以便捷的定义Cookie模块的参数信息。

    1、导入模块

    from fastapi import Cookie

    2、添加参数信息

    参数信息的结构与Query、Path等模块完全相同。

    ads_id: str = Cookie(None)

    完整示例:

    from fastapi import Cookie, FastAPI
    
    app = FastAPI()
    
    
    @app.get("/items/")
    async def read_items(*, ads_id: str = Cookie(None)):
        return {"ads_id": ads_id}

     

    返回Cookie信息

    我们可以在Response中返回Cookie信息给终端。

    1、使用Response参数

    我们可以在路径操作函数中声明Response参数,然后给这个临时的Response对象设置cookie信息。

    FastAPI通过这个临时的Response对象解析出cookie信息,然后放入到最终返回的Response对象中。

    我们也可以在依赖项中使用Response参数,然后设置cookie信息。

    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"}

    2、直接返回Response

    我们也可以在直接返回的Response对象中设置cookie信息。

    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
    
    
  • 相关阅读:
    谈谈Nullable<T>的类型转换问题
    MiniProfiler使用方法
    捕获变量
    web服务相关的问题或技巧
    对接mysql数据库遇见的一些问题
    委托
    导出到Excel
    斐波那契数列的运算时间
    .net framework摘抄与理解
    sql 语句
  • 原文地址:https://www.cnblogs.com/mazhiyong/p/12930555.html
Copyright © 2011-2022 走看看