首页 > 其他分享 >FastAPI 基本路由

FastAPI 基本路由

时间:2024-12-11 21:03:17浏览次数:8  
标签:基本 FastAPI app 路径 item id 路由

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

根路径路由

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

实例

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

代码说明:

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

路径参数

设置路由的参数:

实例

from fastapi import FastAPI

app = 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=runoob 查看带路径参数和查询参数的响应:

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

标签:基本,FastAPI,app,路径,item,id,路由
From: https://blog.csdn.net/2401_89581675/article/details/144356961

相关文章

  • Flask 路由
    Flask路由是Web应用程序中将URL映射到Python函数的机制。Flask路由是Flask应用的核心部分,用于处理不同URL的请求,并将请求的处理委托给相应的视图函数。以下是关于Flask路由的详细说明,包括路由的定义、参数、方法和规则等。定义路由:使用 @app.route('/path')......
  • 转载:【AI系统】Tensor Core 基本原理
    在英伟达的通用GPU架构中,主要存在三种核心类型:CUDACore、TensorCore以及RTCore。其中,TensorCore扮演着极其关键的角色。TensorCore是针对深度学习和AI工作负载而设计的专用核心,可以实现混合精度计算并加速矩阵运算,尤其擅长处理半精度(FP16)和全精度(FP32)的矩阵乘法和累......
  • 第86篇 8种基本数据结构
    1.数据结构概述数据结构是计算机存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能;常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(LinkedList)、树(Tree)、图(Graph)、堆(Heap)、散列表(Hash)等2......
  • 转载:【AI系统】AI 基本理论奠定
    AI基本理论奠定虽然AI在今年取得了举世瞩目的进展与突破,但是其当前基于的核心理论神经网络等,在这波浪潮开始前已经基本奠定,并经历了多次的起起伏伏。神经网络作为AI的前身,经历了以下的发展阶段:萌芽兴奋期(约1950s)1943年,神经科学家和控制论专家WarrenMcCulloch和逻辑......
  • 转载:【AI系统】AI 编译器基本架构
    在上篇文章中将AI编译器的发展大致分为了3个阶段,分别为1)朴素编译器、2)专用编译器以及3)通用编译器。本文作为上一节AI编译器架构的一个延续,着重讨论AI编译器的通用架构。首先将回顾现有AI编译器架构(以PyTorch作为标杆),随后引出通用AI编译器的架构模型,并进一步介绍......
  • 转载:【AI系统】LLVM IR 基本概念
    在上一篇文章中,我们已经简要介绍了LLVM的基本概念和架构,我们现在将更深入地研究LLVM的IR(中间表示)的概念。了解LLVMIR的重要性是为了能够更好地理解编译器的运作原理,以及在编译过程中IR是如何被使用的。LLVMIR提供了一种抽象程度适中的表示形式,同时能够涵盖绝大多数源......
  • 转载:【AI系统】AI 基本理论奠定
    AI基本理论奠定虽然AI在今年取得了举世瞩目的进展与突破,但是其当前基于的核心理论神经网络等,在这波浪潮开始前已经基本奠定,并经历了多次的起起伏伏。神经网络作为AI的前身,经历了以下的发展阶段:萌芽兴奋期(约1950s)1943年,神经科学家和控制论专家WarrenMcCulloch和逻辑......
  • 【机器学习】机器学习的基本分类-无监督学习-主成分分析(PCA:Principal Component Anal
    主成分分析(PrincipalComponentAnalysis,PCA)主成分分析(PCA)是一种常用的降维技术,用于将高维数据投影到低维空间,同时尽可能保留原数据的主要信息(方差)。1.PCA的核心思想目标:找到新的坐标轴(主成分),使得数据投影到这些轴上的方差最大化。主成分:数据的主要变化方向。第一个主......
  • vue 路由跳转,导致页面样式错乱,刷新又好了的情况
    在项目开始的时候,把所有的代码都码好。在页面跳转的时候总有几个页面,在跳到该页面时样式全错位了,但是刷新一下就又好。跳转后页面的样式会沿用了前一个页面的样式,导致页面错乱。解决办法:  在跳转前和跳转后页面的style上加上scoped<stylescoped>header{width:10......
  • 顶级销售的基本素质
    如何进行大客户营销与销售?大客户销售的内功心法是什么?优秀销售需要具备什么能力?一、优秀销售的三大基石要做ToB的业务,首先我们会想到关键客户或者大客户。因此,大家都非常重视大客户销售。做大客户销售有三个必备基石ASK——态度、技能和知识,这也是成功销售的三驾马车。1.态......