【FastAPI】路径参数(二)

预设值¶

如果你有一个接收路径参数的路径操作,但你希望预先设定可能的有效参数值,则可以使用标准的 Python Enum 类型。

导入 Enum 并创建一个继承自 str 和 Enum 的子类。通过从 str 继承,API 文档将能够知道这些值必须为 string 类型并且能够正确地展示出来。

然后创建具有固定值的类属性,这些固定值将是可用的有效值:

声明路径参数

用你定义的枚举类(ModelName)创建一个带有类型标注的路径参数:

dart 复制代码
from enum import Enum

from fastapi import FastAPI


class ModelName(str, Enum):
    alexnet = "alexnet"
    resnet = "resnet"
    lenet = "lenet"


app = FastAPI()


@app.get("/models/{model_name}")
async def get_model(model_name: ModelName):
    if model_name is ModelName.alexnet:
        return {"model_name": model_name, "message": "Deep Learning FTW!"}

    if model_name.value == "lenet":
        return {"model_name": model_name, "message": "LeCNN all the images"}

    return {"model_name": model_name, "message": "Have some residuals"}

打开文档后出现了可选的选项,在就是枚举类型的结果

相关推荐
掘金-我是哪吒1 天前
分布式微服务系统架构第144集:FastAPI全栈开发教育系统
分布式·微服务·架构·系统架构·fastapi
jingyucsdn7 天前
AsyncIOScheduler与BackgroundScheduler的线程模型对比
fastapi
jingyucsdn8 天前
FastAPI集成APsecheduler的BackgroundScheduler+mongodb(精简)
fastapi
几道之旅8 天前
前端antd,后端fastapi,解决文件上传
前端·fastapi
Hello_WOAIAI9 天前
python中使用高并发分布式队列库celery的那些坑
python·fastapi
ZHOU_WUYI11 天前
FastAPI在 Nginx 和 Docker 环境中的部署
nginx·docker·fastapi
王学政211 天前
FastAPI 中间件
fastapi
小迅先生14 天前
AI开发 | Web API框架选型-FastAPI
开发语言·python·fastapi
老大白菜15 天前
双均线量化交易策略指南
python·fastapi
Msshu12316 天前
消费类,小家电产品如何做Type-C PD快充快速充电
python·单片机·嵌入式硬件·物联网·beautifulsoup·fastapi·tornado