方向不对,努力白费,经验类测试技术才是职场重要保险! | (点击→)【提醒】AI赋能的前提是对常规测试技术非常的熟悉,联系作者vx了解

FastAPI系列(08):form表单数据

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/19503695 

form表单数据

Form组件是fastapi里的

FastAPI可以使用Form组件来接收表单数据,需要先使用pip install python-multipart命令进行安装

安装:pip install python-multipart

示例

from fastapi import FastAPI,Form
import uvicorn


app = FastAPI()

@app.post("/login")
async def login(username: str = Form(), password: str = Form()):  # username是一个Form对象
    print(f"username: {username}, password:{password}")
    # 注册,实现数据库的添加操作
    return {
        "msg": f"{username}登录成功"
    }


if __name__ == '__main__':
    uvicorn.run("form_parameter:app", port=8001, reload=True)

 

接口文档

image

 

请求参数

image

 

响应结果

image

image

 

添加约束

from fastapi import FastAPI,Form
import uvicorn


app = FastAPI()

@app.post("/login")
async def login(username: str = Form(..., pattern=r"^[A-Za-z][A-Za-z0-9]{2,4}$", min_length=3, max_length=5),
                # 第一个参数:默认值或 ...(表示必需),在 FastAPI 中,... 是 Python 内置的 Ellipsis 对象,在表单参数中表示必需参数
                password: str = Form()):  # username是一个Form对象
    print(f"username: {username}, password:{password}")
    # 注册,实现数据库的添加操作
    return {
        "msg": f"{username}登录成功"
    }


if __name__ == '__main__':
    uvicorn.run("form_parameter:app", port=8001, reload=True)

  

接口文档

image

 

给密码设置默认值123456 

from fastapi import FastAPI,Form
import uvicorn


app = FastAPI()

@app.post("/login")  # username和password都是一个Form对象
async def login(username: str = Form(..., pattern=r"^[A-Za-z][A-Za-z0-9]{2,4}$", min_length=3, max_length=5),
                # 第一个参数:默认值或 ...(表示必需),在 FastAPI 中,... 是 Python 内置的 Ellipsis 对象,在表单参数中表示必需参数
                password: str = Form("123456")):  # 设置默认值为 "123456"
    print(f"username: {username}, password:{password}")
    # 注册,实现数据库的添加操作
    return {
        "msg": f"{username}登录成功"
    }


if __name__ == '__main__':
    uvicorn.run("form_parameter:app", port=8001, reload=True)

  

接口文档

image

 

点击

image

 

显示了默认密码,username也根据正则生成了值

image

 

posted @ 2026-01-25 16:28  全栈测试笔记  阅读(0)  评论(0)    收藏  举报
浏览器标题切换
浏览器标题切换end