fastapi 通过 中间件修改request body
开发过程中遇到的一个问题:就是想要修改request中的请求体,具体代码如下
class CustomMiddleware:
def __init__(self, app):
self.app = app
async def __call__(self, scope, receive, send):
if scope["type"] != "http":
await self.app(scope, receive, send)
return
async def modify_body():
message = await receive()
assert message["type"] == "http.request"
body: bytes = message.get("body", b"")
body: str = body.decode()
data = json.loads(body)
data["value"] = "456"
message["body"] = json.dumps(data).encode()
return message
await self.app(scope, modify_body, send)
app.add_middleware(CustomMiddleware)
recive 是一个异步函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述