相关疑难解决方法(0)

如何在 Python FastAPI 中记录原始 HTTP 请求/响应?

我们正在使用 Python FastAPI 编写一个 Web 服务,该服务将托管在 Kubernetes 中。出于审计目的,我们需要保存特定路由的request/的原始 JSON 正文。JSON的主体大小约为1MB,最好这不应该影响响应时间。我们怎样才能做到这一点?responserequestresponse

python logging audit-logging python-logging fastapi

25
推荐指数
2
解决办法
3万
查看次数

FastAPI的应用挂载是如何进行的?

出于某些原因,我们选择了FastAPI,以便将其用作多模块生产的后端层。它吸引人的功能之一是子应用程序,它可以帮助我们分离不同的模块,从而使其更加模块化。但我们担心官方文档中缺少的一些可能的缺陷。有大量的通用事物——例如数据、服务等——我们需要通过插件、中间件和依赖注入在主模块和子模块之间共享它们。问题是:这个功能对于单独的模块来说是否足够好?所以:子应用程序是否继承父应用程序的中间件、插件和依赖注入?

感谢您分享您的经验。

官方文档中的示例代码

from fastapi import FastAPI

app = FastAPI()


@app.get("/app")
def read_main():
    return {"message": "Hello World from main app"}


subapi = FastAPI()


@subapi.get("/sub")
def read_sub():
    return {"message": "Hello World from sub API"}


app.mount("/subapi", subapi)
Run Code Online (Sandbox Code Playgroud)

python plugins middleware starlette fastapi

6
推荐指数
1
解决办法
1万
查看次数