当前位置: 首页 > news >正文

FastAPI 第五课 -- 基本路由

目录

一. 前言

二. 根路径路由

三. 路径参数

四. 启动应用和测试路由


一. 前言

在 FastAPI 中,基本路由是定义 API 端点的关键。每个路由都映射到应用程序中的一个函数,用于处理特定的 HTTP 请求,并返回相应的响应。

二. 根路径路由

创建 FastAPI 实例和根路径路由:

from fastapi import FastAPIapp = FastAPI()@app.get("/")
def read_root():return {"Hello": "World"}

代码说明:

  • FastAPI():创建 FastAPI 应用实例。
  • @app.get("/"):使用 @app.get 装饰器创建一个处理根路径的路由。
  • def read_root():路由处理函数,返回一个包含 {"Hello": "World"} 的字典。

三. 路径参数

设置路由的参数:

from fastapi import FastAPIapp = FastAPI()@app.get("/")
def read_root():return {"Hello": "World"}@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):return {"item_id": item_id, "q": q}

代码说明:

  • @app.get("/items/{item_id}"):定义了一个路由路径,其中 {item_id} 是路径参数,对应于函数参数 item_id
  • def read_item(item_id: int, q: str = None):路由处理函数接受一个整数类型的路径参数 item_id 和一个可选的字符串类型查询参数 q

在路由操作中,可以使用函数参数声明查询参数。例如,q: str = None 表示 q 是一个可选的字符串类型查询参数,默认值为 None

四. 启动应用和测试路由

使用 Uvicorn 启动应用:

uvicorn main:app --reload

访问 http://127.0.0.1:8000 查看根路径的响应:

访问 http://127.0.0.1:8000/items/42?q=labixiaoliu 查看带路径参数和查询参数的响应:

//20231219105520// http://127.0.0.1:8000/items/5?q=labixiaoliu
{"item_id":5"q":"labixiaoliu"
}

FastAPI 自动生成的交互式 API 文档将包括定义的路由信息、路径参数、查询参数等。访问文档地址 http://127.0.0.1:8000/docs 查看详细的文档和测试界面:


http://www.mrgr.cn/news/37258.html

相关文章:

  • 显示技术概念极简理解(分辨率、英寸、PPI、DPI)
  • 2:数据结构:列表与元组
  • sicp每日一题[2.30]
  • Java中的注解处理器:自定义注解与APT工具的应用场景
  • YOLOv8默认使用的优化器是什么?optimizer默认值auto指定的是什么优化器?
  • 【玩转贪心算法专题】738. 单调递增的数字【中等】
  • 【Gitee自动化测试2】Git,TortoiseGit,Github,Gitlab,Gitee
  • 心觉:如何重塑高效学习的潜意识(3)东西很好,但用不起,怎么破?
  • C++学习笔记----8、掌握类与对象(一)---- 对象中的动态内存分配(4)
  • 【项目经验分享】深度学习点云算法毕业设计项目案例定制
  • 【机器学习】探索LSTM:深度学习领域的强大时间序列处理能力
  • Mysql InnoDB引擎的四大核心特性
  • 衡石分析平台系统管理手册-功能配置之全局 CSS 设置
  • Github 2024-09-27 Java开源项目日报Top8
  • python-list-comprehension-find-pair-given-sum-two-arrays
  • 【Python报错已解决】TypeError: tuple indices must be integers or slices, not str
  • 九、子查询
  • 在实时语音交互上超过GPT-4o,端到端语音模型Mini-Omni部署
  • 使用Keras进行图像分类:从入门到精通
  • Deno 1.46