【FastAPI】1-url参数

fastapi的核心功能是提供HTTP请求接口

  • "幂等"和"非幂等"
    幂等(idempotent):如果一个方法重复执行多次,产生的效果是一样的,那么这个方法就是幂等的

"Methods can also have the property of "idempotence" in that the side-effects of N > 0 identical requests is the same as for a single request."

安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。

  • 最常见的HTTP请求方法及其幂等性:
    GET、DELETE、POST、PUT

    在开发 API 时,通常使用特定的 HTTP 方法去执行特定的行为

通常使用:

POST:创 建数据。

GET: 读取数据。

PUT :更新数据。

DELET E:删除数据。

  • 在 OpenAPI 中,每一个 HTTP 方法都被称为「操作」

  • 路径参数 item_id 的值将作为参数 item_id 传递给开发者的函数

  • 所有的数据校验都由 Pydantic 在幕后完成

  • 预设值

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

    创建一个 Enum 类 导入 Enum 并创建一个继承自 str 和 Enum 的子类。

    通过从 str 继承,API 文档将能够知道这些值必须为 string 类型并且能够正确地展示出来。

    然后创建具有固定值class ModelName(str, Enum),的类属性,这些固定值将是可

    然后使用你定义的枚举类(ModelName)创建一个带有类型标注的路径参数async def get_model(model_name: ModelName)的有效值

    可以使用 model_name.value 或通常来说 your_enum_member.value 来获取实际的值

  • 包含路径的路径参数

    可以使用直接来自 Starlette 的选项来声明一个包含路径的路径参数:
    /files/{file_path:path}

    在这种情况下,参数的名称为 file_path,结尾部分的 :path 说明该参数应匹配任意的路径

相关推荐
Li emily1 天前
解决了加密货币api多币种订阅时的数据乱序问题
人工智能·python·api·fastapi
Muyuan19982 天前
31.Cursor 初体验:用 AI Agent 给 PaperPilot 做一次最小工程重构
人工智能·python·重构·django·fastapi·faiss
csdn小瓯2 天前
FastAPI 依赖注入与状态管理实战:构建高可维护的异步后端
fastapi
dinl_vin2 天前
FastAPI 系列(一)· 初体验——从 Spring Boot 工程师视角认识 FastAPI
后端·python·fastapi
海市公约2 天前
从 CRUD 到 AI 工程:基于 FastAPI + Dify 的 AI 面试模拟系统实践
prompt·fastapi·项目实战·dify·ai工作流·后端架构
码界筑梦坊2 天前
120-基于Python的食品营养特征数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·fastapi
Muyuan19982 天前
30.通过Claude code做项目系统测试
运维·服务器·人工智能·fastapi
Muyuan19982 天前
29.从 FAISS 到 Milvus:给我的 RAG Agent 项目加一层可替换的向量检索后端
fastapi·milvus·faiss
码界筑梦坊2 天前
123-基于Python的特斯拉超级充电站分布数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·fastapi
AIGC包拥它2 天前
RAG 项目实战进阶:基于 FastAPI + Vue3 前后端架构全面重构 LangChain 0.3 集成 Milvus 2.5 构建大模型智能应用
人工智能·python·重构·vue·fastapi·milvus·ai-native