登录
首页 >  文章 >  python教程

FastAPI中如何打印POST请求的表单数据?

时间:2024-11-16 12:16:06 306浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《FastAPI中如何打印POST请求的表单数据?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

FastAPI中如何打印POST请求的表单数据?

fastapi 中打印 post 请求的表单

要打印 post 请求的表单,可以使用以下方法:

方法 1: 使用 starlette request 对象

在视图函数中,可以通过 request 参数访问 starlette request 对象。在此对象上调用 form() 方法将返回一个 form 对象。该对象的 dict() 方法可将其转换为字典,提供表单参数的键值对:

from fastapi import fastapi, form

app = fastapi()

@app.post("/search")
def search_reverse(
    max_chunk_size: int = form(1200),
    search_top_k: int = form(
        default=30
    ),
    distance_threshold: float = form(
        0.32
    )
):
    form_data = request.form()
    form_dict = dict(form_data)
    print(form_dict)  # 字典形式的表单数据

方法 2: 使用依赖项

此方法使用依赖项来获取表单数据。首先,创建一个获取表单数据的自定义依赖项函数:

from fastapi import depends, request

async def get_form_data(request: request):
    form_data = await request.form()
    return dict(form_data)

然后,在视图函数中,将此依赖项声明为参数:

from fastapi import FastAPI
from fastapi.responses import JSONResponse

app = FastAPI()

@app.post("/search")
def search_reverse(form_data: dict = Depends(get_form_data)):
    print(form_data)  # 字典形式的表单数据

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>