【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"}

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

相关推荐
simon_skywalker6 小时前
FastAPI实战笔记(二) 数据处理
fastapi
创新技术阁15 小时前
CryptoAiAdmin项目数据库表自动创建和初始化
后端·python·fastapi
懒人村杂货铺16 小时前
前端步入全栈第一步
前端·docker·fastapi
simon_skywalker1 天前
FastAPI实战笔记(一) 基本介绍与简单操作
fastapi
wang6021252181 天前
阿里云存储的一些简要概述
数据库·阿里云·fastapi
山沐与山1 天前
【设计模式】Python工厂模式与依赖注入:FastAPI的Depends到底在干嘛
python·设计模式·fastapi
祁思妙想2 天前
修改python后端项目名称:pycharm中fastapi框架的项目
ide·pycharm·fastapi
钱彬 (Qian Bin)2 天前
项目实践13—全球证件智能识别系统(内网离线部署大模型并调用)
数据库·postgresql·fastapi·ubuntu24.04·离线部署·qwen3大模型
安冬的码畜日常3 天前
【玩转 Postman 接口测试与开发2_020】(完结篇)DIY 实战:随书示例 API 项目本地部署保姆级搭建教程(含完整调试过程)
python·测试工具·django·接口测试·postman·fastapi·api项目
曲幽5 天前
FastAPI快速上手:请求与响应的核心玩法
python·fastapi·web·form·get·post