• 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
    
    
  • 相关阅读:
    热更新--动态加载framework
    封装framework注意点
    zip压缩和解压缩
    iOS 网络请求数据缓存
    tomcat服务器访问网址组成
    iOS--支付宝环境集成
    线程10--NSOperation的基本操作
    线程9--NSOperation
    线程8--GCD常见用法
    线程7--GCD的基本使用
  • 原文地址:https://www.cnblogs.com/mazhiyong/p/12930555.html
Copyright © 2020-2023  润新知