gpt4 book ai didi

python - fastapi 依赖 vs 中间件

转载 作者:行者123 更新时间:2023-12-03 22:59:55 25 4
gpt4 key购买 nike

我是 fastapi 的新手。我使用过其他语言的多个 Web 框架,并找到了用于各种目的的中间件的通用模式。例如如果我有一个要进行身份验证的 API 路由,那么我将使用一个进行身份验证的中间件。如果我想增加传入的请求,我会使用中间件。 FastAPI 确实有中间件(文档中的一小部分)但也有依赖项。我想验证我的 API 路由并开始寻找示例,我发现所有示例都使用依赖项。什么(依赖项或中间件)是推荐的 API 路由认证方式,为什么?

最佳答案

我的看法是:

  • Dependency: 你用它来运行代码以准备变量、认证等。
  • Middleware: 你需要先检查一些东西,然后拒绝或转发请求到你的逻辑。

  • 中间件可以看作是依赖项的超集,因为后者是一种中间件,它返回一个可以在请求中使用的值。但是,在中间件中,您可以记录请求或缓存结果并访问请求的响应(甚至转发请求、调用其他 API 等)。
    TL;DR
    依赖是一种在处理请求之前需要的通用逻辑(例如,我需要与此 token 关联的用户 ID),而中间件可以做到这一点,它也可以访问对该请求的响应。 依赖项是创建身份验证中间件的首选方式

    关于python - fastapi 依赖 vs 中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66632841/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com