如何通过 fastapi 打印 post 请求的 form 字段?
要以字典的形式打印 post 请求的所有 form 表单参数,可以采用以下方法:
-
使用 kwargs 参数:
使用 kwargs 参数接收所有 form 字段并将其存储在字典中。
from fastapi import fastapi, form from loguru import logger app = fastapi() @app.post("/search") def search_reverse(**kwargs: int): logger.debug(kwargs)
-
使用 request 对象:
使用 request 对象获取请求的 form 数据,并将其解析为字典。
from fastapi import FastAPI, Form, Depends, Request from loguru import logger import uvicorn app = FastAPI() async def get_form(request: Request): form_data = await request.form() return dict(form_data) @app.post("/search") def search_reverse(form_data: dict = Depends(get_form)): logger.debug(form_data) if __name__ == "__main__": uvicorn.run(app="api:app", host="127.0.0.1", port=9950, workers=1, reload=True)